@pisell/pisellos 2.3.50 → 2.3.53

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 (177) hide show
  1. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +12 -10
  2. package/dist/modules/Discount/index.d.ts +0 -1
  3. package/dist/modules/Discount/index.js +11 -40
  4. package/dist/modules/Discount/types.d.ts +0 -1
  5. package/dist/modules/OpenData/index.js +2 -2
  6. package/dist/modules/Order/index.d.ts +6 -8
  7. package/dist/modules/Order/index.js +165 -140
  8. package/dist/modules/Order/types.d.ts +21 -12
  9. package/dist/modules/Order/types.js +11 -0
  10. package/dist/modules/Order/utils.d.ts +0 -10
  11. package/dist/modules/Order/utils.js +3 -35
  12. package/dist/modules/Payment/types.d.ts +8 -0
  13. package/dist/modules/Payment/walletpass.d.ts +7 -1
  14. package/dist/modules/Payment/walletpass.js +155 -45
  15. package/dist/modules/Product/types.d.ts +0 -1
  16. package/dist/modules/ProductList/index.js +14 -33
  17. package/dist/modules/Quotation/index.d.ts +1 -1
  18. package/dist/modules/Quotation/index.js +2 -2
  19. package/dist/modules/Rules/index.js +32 -56
  20. package/dist/modules/SalesSummary/index.js +13 -12
  21. package/dist/modules/SalesSummary/utils.js +7 -1
  22. package/dist/modules/ScanOrderLogger/index.d.ts +0 -2
  23. package/dist/modules/ScanOrderLogger/index.js +2 -15
  24. package/dist/modules/ScanOrderLogger/providers/feishu.js +27 -45
  25. package/dist/modules/ScanOrderLogger/types.d.ts +0 -1
  26. package/dist/modules/Schedule/index.d.ts +1 -3
  27. package/dist/modules/Schedule/index.js +16 -21
  28. package/dist/modules/Summary/utils.js +13 -38
  29. package/dist/modules/index.d.ts +0 -2
  30. package/dist/modules/index.js +1 -3
  31. package/dist/plugins/window.d.ts +0 -1
  32. package/dist/server/index.d.ts +0 -14
  33. package/dist/server/index.js +793 -907
  34. package/dist/server/modules/index.d.ts +1 -1
  35. package/dist/server/modules/order/index.d.ts +16 -0
  36. package/dist/server/modules/order/index.js +964 -776
  37. package/dist/server/modules/order/types.d.ts +14 -0
  38. package/dist/server/modules/order/types.js +6 -0
  39. package/dist/solution/BaseSales/index.d.ts +18 -13
  40. package/dist/solution/BaseSales/index.js +202 -178
  41. package/dist/solution/BaseSales/utils/cartPromotion.js +5 -3
  42. package/dist/solution/BookingByStep/index.d.ts +2 -17
  43. package/dist/solution/BookingByStep/index.js +215 -294
  44. package/dist/solution/BookingByStep/types.d.ts +1 -2
  45. package/dist/solution/BookingByStep/types.js +1 -3
  46. package/dist/solution/BookingByStep/utils/capacity.js +1 -17
  47. package/dist/solution/BookingByStep/utils/timeslots.d.ts +1 -3
  48. package/dist/solution/BookingByStep/utils/timeslots.js +12 -19
  49. package/dist/solution/BookingTicket/index.d.ts +1 -13
  50. package/dist/solution/BookingTicket/index.js +2 -2
  51. package/dist/solution/BookingTicket/types.d.ts +3 -0
  52. package/dist/solution/BookingTicket/utils/cartView.js +44 -32
  53. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +1 -3
  54. package/dist/solution/BookingTicket/utils/scan/handleScan.js +2 -10
  55. package/dist/solution/Sales/index.d.ts +1 -0
  56. package/dist/solution/Sales/index.js +16 -2
  57. package/dist/solution/ScanOrder/index.d.ts +14 -26
  58. package/dist/solution/ScanOrder/index.js +739 -1142
  59. package/dist/solution/ScanOrder/types.d.ts +1 -21
  60. package/dist/solution/ScanOrder/utils.d.ts +0 -8
  61. package/dist/solution/ScanOrder/utils.js +25 -66
  62. package/dist/solution/ShopDiscount/index.d.ts +0 -1
  63. package/dist/solution/ShopDiscount/index.js +87 -125
  64. package/dist/solution/VenueBooking/index.d.ts +11 -39
  65. package/dist/solution/VenueBooking/index.js +841 -1167
  66. package/dist/solution/VenueBooking/types.d.ts +0 -3
  67. package/dist/solution/VenueBooking/utils/resource.js +0 -1
  68. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
  69. package/dist/solution/VenueBooking/utils/slotMerge.js +5 -10
  70. package/dist/solution/index.d.ts +0 -1
  71. package/dist/solution/index.js +1 -2
  72. package/dist/types/index.d.ts +0 -1
  73. package/lib/model/strategy/adapter/promotion/index.js +0 -51
  74. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +3 -1
  75. package/lib/modules/Discount/index.d.ts +0 -1
  76. package/lib/modules/Discount/index.js +0 -9
  77. package/lib/modules/Discount/types.d.ts +0 -1
  78. package/lib/modules/OpenData/index.js +1 -1
  79. package/lib/modules/Order/index.d.ts +6 -8
  80. package/lib/modules/Order/index.js +89 -38
  81. package/lib/modules/Order/types.d.ts +21 -12
  82. package/lib/modules/Order/utils.d.ts +0 -10
  83. package/lib/modules/Order/utils.js +5 -36
  84. package/lib/modules/Payment/types.d.ts +8 -0
  85. package/lib/modules/Payment/walletpass.d.ts +7 -1
  86. package/lib/modules/Payment/walletpass.js +107 -9
  87. package/lib/modules/Product/types.d.ts +0 -1
  88. package/lib/modules/ProductList/index.js +31 -40
  89. package/lib/modules/Quotation/index.d.ts +1 -1
  90. package/lib/modules/Quotation/index.js +2 -2
  91. package/lib/modules/Rules/index.js +32 -44
  92. package/lib/modules/SalesSummary/index.js +7 -6
  93. package/lib/modules/SalesSummary/utils.js +5 -1
  94. package/lib/modules/ScanOrderLogger/index.d.ts +0 -2
  95. package/lib/modules/ScanOrderLogger/index.js +1 -13
  96. package/lib/modules/ScanOrderLogger/providers/feishu.js +6 -15
  97. package/lib/modules/ScanOrderLogger/types.d.ts +0 -1
  98. package/lib/modules/Schedule/index.d.ts +1 -3
  99. package/lib/modules/Schedule/index.js +8 -10
  100. package/lib/modules/Summary/utils.js +1 -21
  101. package/lib/modules/index.d.ts +0 -2
  102. package/lib/modules/index.js +1 -5
  103. package/lib/plugins/window.d.ts +0 -1
  104. package/lib/server/index.d.ts +0 -14
  105. package/lib/server/index.js +15 -72
  106. package/lib/server/modules/index.d.ts +1 -1
  107. package/lib/server/modules/order/index.d.ts +16 -0
  108. package/lib/server/modules/order/index.js +140 -4
  109. package/lib/server/modules/order/types.d.ts +14 -0
  110. package/lib/server/modules/order/types.js +1 -0
  111. package/lib/solution/BaseSales/index.d.ts +18 -13
  112. package/lib/solution/BaseSales/index.js +58 -35
  113. package/lib/solution/BaseSales/utils/cartPromotion.js +5 -2
  114. package/lib/solution/BookingByStep/index.d.ts +2 -17
  115. package/lib/solution/BookingByStep/index.js +18 -60
  116. package/lib/solution/BookingByStep/types.d.ts +1 -2
  117. package/lib/solution/BookingByStep/types.js +0 -5
  118. package/lib/solution/BookingByStep/utils/capacity.js +1 -20
  119. package/lib/solution/BookingByStep/utils/timeslots.d.ts +1 -3
  120. package/lib/solution/BookingByStep/utils/timeslots.js +11 -19
  121. package/lib/solution/BookingTicket/index.d.ts +1 -13
  122. package/lib/solution/BookingTicket/index.js +2 -10
  123. package/lib/solution/BookingTicket/types.d.ts +3 -0
  124. package/lib/solution/BookingTicket/utils/cartView.js +43 -30
  125. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +1 -3
  126. package/lib/solution/BookingTicket/utils/scan/handleScan.js +2 -2
  127. package/lib/solution/Sales/index.d.ts +1 -0
  128. package/lib/solution/Sales/index.js +15 -3
  129. package/lib/solution/ScanOrder/index.d.ts +14 -26
  130. package/lib/solution/ScanOrder/index.js +182 -449
  131. package/lib/solution/ScanOrder/types.d.ts +1 -21
  132. package/lib/solution/ScanOrder/utils.d.ts +0 -8
  133. package/lib/solution/ScanOrder/utils.js +0 -31
  134. package/lib/solution/ShopDiscount/index.d.ts +0 -1
  135. package/lib/solution/ShopDiscount/index.js +0 -14
  136. package/lib/solution/VenueBooking/index.d.ts +11 -39
  137. package/lib/solution/VenueBooking/index.js +110 -322
  138. package/lib/solution/VenueBooking/types.d.ts +0 -3
  139. package/lib/solution/VenueBooking/utils/resource.js +0 -1
  140. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
  141. package/lib/solution/VenueBooking/utils/slotMerge.js +4 -6
  142. package/lib/solution/index.d.ts +0 -1
  143. package/lib/solution/index.js +1 -3
  144. package/lib/types/index.d.ts +0 -1
  145. package/package.json +1 -1
  146. package/dist/modules/Holder/index.d.ts +0 -48
  147. package/dist/modules/Holder/index.js +0 -640
  148. package/dist/modules/Holder/types.d.ts +0 -123
  149. package/dist/modules/Holder/types.js +0 -1
  150. package/dist/modules/Holder/utils.d.ts +0 -13
  151. package/dist/modules/Holder/utils.js +0 -34
  152. package/dist/modules/ResourcePlanner/index.d.ts +0 -24
  153. package/dist/modules/ResourcePlanner/index.js +0 -181
  154. package/dist/modules/ResourcePlanner/planner.d.ts +0 -14
  155. package/dist/modules/ResourcePlanner/planner.js +0 -1069
  156. package/dist/modules/ResourcePlanner/types.d.ts +0 -227
  157. package/dist/modules/ResourcePlanner/types.js +0 -1
  158. package/dist/solution/UnifiedBookingSales/index.d.ts +0 -183
  159. package/dist/solution/UnifiedBookingSales/index.js +0 -1891
  160. package/dist/solution/UnifiedBookingSales/types.d.ts +0 -143
  161. package/dist/solution/UnifiedBookingSales/types.js +0 -11
  162. package/lib/modules/Holder/index.d.ts +0 -48
  163. package/lib/modules/Holder/index.js +0 -402
  164. package/lib/modules/Holder/types.d.ts +0 -123
  165. package/lib/modules/Holder/types.js +0 -17
  166. package/lib/modules/Holder/utils.d.ts +0 -13
  167. package/lib/modules/Holder/utils.js +0 -71
  168. package/lib/modules/ResourcePlanner/index.d.ts +0 -24
  169. package/lib/modules/ResourcePlanner/index.js +0 -148
  170. package/lib/modules/ResourcePlanner/planner.d.ts +0 -14
  171. package/lib/modules/ResourcePlanner/planner.js +0 -933
  172. package/lib/modules/ResourcePlanner/types.d.ts +0 -227
  173. package/lib/modules/ResourcePlanner/types.js +0 -17
  174. package/lib/solution/UnifiedBookingSales/index.d.ts +0 -183
  175. package/lib/solution/UnifiedBookingSales/index.js +0 -1084
  176. package/lib/solution/UnifiedBookingSales/types.d.ts +0 -143
  177. package/lib/solution/UnifiedBookingSales/types.js +0 -33
@@ -32,7 +32,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
32
32
  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); }
33
33
  import { BaseModule } from "../BaseModule";
34
34
  import { OrderHooks } from "./types";
35
- import { composeLinePrice, generateDuration, getAllDiscountList, mergeRelationForms, ensureCartItemOriginHolder, buildSubmitPayload, createDefaultTempOrder, createDefaultOrderRulesHooks, createEmptySummary, createUuidV4, formatDateTime, isTempOrder, normalizeBookingIsAll, normalizeBookingSubType, mapPaymentItemsToOrderPayments, normalizeOrderProductDiscountList, resolveEffectivePerUnitDiscount, ensureProductSku, getProductSkuOptions, normalizeProductSkuOptions, sumOptionUnitPrice, clearTempOrderHolderAssignments, getOrderProductLineUid, indexOrderProductsByUid, calculateOrderProductsDeposit, mergeOrderProductDisplayFields, resolveIsFormSubject } from "./utils";
35
+ import { composeLinePrice, generateDuration, getAllDiscountList, mergeRelationForms, buildSubmitPayload, createDefaultTempOrder, createDefaultOrderRulesHooks, createEmptySummary, createUuidV4, formatDateTime, isTempOrder, normalizeBookingIsAll, normalizeBookingSubType, mapPaymentItemsToOrderPayments, normalizeOrderProductDiscountList, resolveEffectivePerUnitDiscount, ensureProductSku, getProductSkuOptions, normalizeProductSkuOptions, sumOptionUnitPrice, clearTempOrderHolderAssignments, getOrderProductLineUid, indexOrderProductsByUid, calculateOrderProductsDeposit, mergeOrderProductDisplayFields, resolveIsFormSubject } from "./utils";
36
36
  import { isNormalProduct } from "../Product/utils";
37
37
  import dayjs from 'dayjs';
38
38
  import { ensureOrderPaymentNumber, mergeOrderPaymentRecord, resolveOrderPaymentIdentity } from "./payment-utils";
@@ -309,8 +309,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
309
309
  key: "initialize",
310
310
  value: function () {
311
311
  var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(core, options) {
312
- var _appPlugin$getApp, _otherParams$rules, _otherParams$order, _otherParams$hooks;
313
- var appPlugin, app, otherParams;
312
+ var _otherParams$rules, _otherParams$order, _otherParams$hooks;
313
+ var app, otherParams;
314
314
  return _regeneratorRuntime().wrap(function _callee$(_context) {
315
315
  while (1) switch (_context.prev = _context.next) {
316
316
  case 0:
@@ -326,12 +326,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
326
326
  this.store.availableWalletIds = [];
327
327
  }
328
328
  this.request = this.core.getPlugin('request');
329
- appPlugin = this.core.getPlugin('app');
330
- if (!appPlugin) {
331
- console.error('Order 模块需要 app 插件支持');
329
+ this.appPlugin = this.core.getPlugin('app');
330
+ if (this.appPlugin) {
331
+ _context.next = 9;
332
+ break;
332
333
  }
333
- app = appPlugin === null || appPlugin === void 0 || (_appPlugin$getApp = appPlugin.getApp) === null || _appPlugin$getApp === void 0 ? void 0 : _appPlugin$getApp.call(appPlugin);
334
- this.logger = app === null || app === void 0 ? void 0 : app.logger;
334
+ throw new Error('Order 模块需要 app 插件支持');
335
+ case 9:
336
+ app = this.appPlugin.getApp();
337
+ this.logger = app.logger;
335
338
  this.window = this.core.getPlugin('window');
336
339
  otherParams = options.otherParams || {};
337
340
  this.cacheId = otherParams.cacheId;
@@ -342,7 +345,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
342
345
  this.otherParams = otherParams;
343
346
  this.registerDiscountModules(options);
344
347
  this.logInfo('OrderModule initialized successfully');
345
- case 20:
348
+ case 21:
346
349
  case "end":
347
350
  return _context.stop();
348
351
  }
@@ -1273,16 +1276,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1273
1276
  value: function persistTempOrder() {
1274
1277
  // no-op: OrderModule 的刷新恢复不再依赖 localStorage。
1275
1278
  }
1276
- }, {
1277
- key: "notifyTempOrderChanged",
1278
- value: function notifyTempOrderChanged() {
1279
- if (!this.store.tempOrder) return;
1280
- this.store.tempOrder = _objectSpread(_objectSpread({}, this.store.tempOrder), {}, {
1281
- products: _toConsumableArray(this.store.tempOrder.products),
1282
- bookings: this.store.tempOrder.bookings ? _toConsumableArray(this.store.tempOrder.bookings) : []
1283
- });
1284
- this.persistTempOrder();
1285
- }
1286
1279
 
1287
1280
  // ─── TempOrder: 创建 & 获取 ───
1288
1281
  }, {
@@ -3883,11 +3876,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3883
3876
  }, {
3884
3877
  key: "appendProductLineToTempOrder",
3885
3878
  value: (function () {
3886
- var _appendProductLineToTempOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee20(tempOrder, product, booking) {
3887
- var _booking_uid,
3879
+ var _appendProductLineToTempOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee20(tempOrder, product, booking, options) {
3880
+ var _normalizedIncoming$p,
3881
+ _normalizedIncoming$p2,
3882
+ _booking_uid,
3888
3883
  _metadata,
3889
3884
  _this26 = this;
3890
- var linked, productToAdd, incomingFingerprint, normalizedIncoming, incomingBookingUid, hasIncomingGoodPass, hasIncomingProductNote, hasIncomingBookingUid, shouldForceNewLine, matchedIndex, matchedProduct, existedFingerprint, shouldMerge, _targetProduct$metada, targetProduct, targetUid, normalizedProduct, nextNum, targetIsManualProductDiscount, nextDiscountList;
3885
+ var linked, productToAdd, incomingFingerprint, normalizedIncoming, isWeighingProduct, netWeight, incomingBookingUid, hasIncomingGoodPass, hasIncomingProductNote, hasIncomingBookingUid, shouldForceNewLine, matchedIndex, matchedProduct, existedFingerprint, shouldMerge, insertAtIndex, _targetProduct$metada, targetProduct, targetUid, normalizedProduct, nextNum, targetIsManualProductDiscount, nextDiscountList, mergedProduct;
3891
3886
  return _regeneratorRuntime().wrap(function _callee20$(_context22) {
3892
3887
  while (1) switch (_context22.prev = _context22.next) {
3893
3888
  case 0:
@@ -3898,6 +3893,14 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3898
3893
  productToAdd = (linked === null || linked === void 0 ? void 0 : linked.product) || product;
3899
3894
  incomingFingerprint = buildProductLineFingerprint(getProductSkuOptions(productToAdd), productToAdd.product_bundle);
3900
3895
  normalizedIncoming = mergeOrderProductDisplayFields(productToAdd, normalizeOrderProduct(productToAdd));
3896
+ isWeighingProduct = Number(((_normalizedIncoming$p = normalizedIncoming.product_sku) === null || _normalizedIncoming$p === void 0 ? void 0 : _normalizedIncoming$p.open_sold_weight) || 0) === 1;
3897
+ netWeight = Number((_normalizedIncoming$p2 = normalizedIncoming.product_sku) === null || _normalizedIncoming$p2 === void 0 ? void 0 : _normalizedIncoming$p2.net_weight);
3898
+ if (!(isWeighingProduct && (!Number.isFinite(netWeight) || netWeight <= 0))) {
3899
+ _context22.next = 8;
3900
+ break;
3901
+ }
3902
+ throw new Error('[Order] 称重商品净重必须大于 0');
3903
+ case 8:
3901
3904
  incomingBookingUid = (_booking_uid = productToAdd.booking_uid) !== null && _booking_uid !== void 0 ? _booking_uid : (_metadata = productToAdd.metadata) === null || _metadata === void 0 ? void 0 : _metadata.booking_uid;
3902
3905
  if (incomingBookingUid !== undefined && incomingBookingUid !== null && String(incomingBookingUid) !== '') {
3903
3906
  normalizedIncoming.booking_uid = String(incomingBookingUid);
@@ -3909,7 +3912,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3909
3912
  hasIncomingGoodPass = this.hasGoodPassDiscount(normalizedIncoming);
3910
3913
  hasIncomingProductNote = this.hasOrderProductLineNote(normalizedIncoming);
3911
3914
  hasIncomingBookingUid = this.hasLinkedBookingUid(productToAdd) || this.hasLinkedBookingUid(normalizedIncoming);
3912
- shouldForceNewLine = !!booking || hasIncomingProductNote || hasIncomingBookingUid;
3915
+ shouldForceNewLine = !!booking || hasIncomingProductNote || hasIncomingBookingUid || isWeighingProduct;
3913
3916
  matchedIndex = hasIncomingGoodPass || shouldForceNewLine ? -1 : tempOrder.products.findIndex(function (item) {
3914
3917
  var _item$metadata3;
3915
3918
  if (_this26.hasGoodPassDiscount(item)) return false;
@@ -3924,10 +3927,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3924
3927
  matchedProduct = matchedIndex === -1 ? null : tempOrder.products[matchedIndex];
3925
3928
  existedFingerprint = matchedProduct ? buildProductLineFingerprint(getProductSkuOptions(matchedProduct), matchedProduct.product_bundle) : '';
3926
3929
  if (!matchedProduct) {
3927
- _context22.next = 20;
3930
+ _context22.next = 24;
3928
3931
  break;
3929
3932
  }
3930
- _context22.next = 17;
3933
+ _context22.next = 21;
3931
3934
  return this.shouldMergeProductToOrder({
3932
3935
  incomingProduct: productToAdd,
3933
3936
  normalizedIncoming: normalizedIncoming,
@@ -3938,13 +3941,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3938
3941
  tempOrder: tempOrder,
3939
3942
  booking: booking
3940
3943
  });
3941
- case 17:
3944
+ case 21:
3942
3945
  _context22.t0 = _context22.sent;
3943
- _context22.next = 21;
3946
+ _context22.next = 25;
3944
3947
  break;
3945
- case 20:
3948
+ case 24:
3946
3949
  _context22.t0 = false;
3947
- case 21:
3950
+ case 25:
3948
3951
  shouldMerge = _context22.t0;
3949
3952
  if (matchedIndex === -1 || !matchedProduct || !shouldMerge) {
3950
3953
  this.captureProductRuntime(tempOrder, productToAdd, normalizedIncoming);
@@ -3954,8 +3957,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3954
3957
  booking_uid: linked.bookingUid
3955
3958
  });
3956
3959
  }
3957
- // tempOrder.products.push(normalizedIncoming);
3958
- tempOrder.products = [].concat(_toConsumableArray(tempOrder.products), [normalizedIncoming]);
3960
+ insertAtIndex = options === null || options === void 0 ? void 0 : options.insertAtIndex;
3961
+ if (Number.isInteger(insertAtIndex) && Number(insertAtIndex) >= 0 && Number(insertAtIndex) < tempOrder.products.length) {
3962
+ tempOrder.products = [].concat(_toConsumableArray(tempOrder.products.slice(0, insertAtIndex)), [normalizedIncoming], _toConsumableArray(tempOrder.products.slice(insertAtIndex)));
3963
+ } else {
3964
+ tempOrder.products = [].concat(_toConsumableArray(tempOrder.products), [normalizedIncoming]);
3965
+ }
3959
3966
  } else {
3960
3967
  targetProduct = matchedProduct;
3961
3968
  targetUid = (_targetProduct$metada = targetProduct.metadata) === null || _targetProduct$metada === void 0 ? void 0 : _targetProduct$metada.unique_identification_number;
@@ -3993,17 +4000,21 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
3993
4000
  num: nextNum
3994
4001
  });
3995
4002
  this.captureProductRuntime(tempOrder, productToAdd, tempOrder.products[matchedIndex], targetUid);
4003
+ if (matchedIndex !== tempOrder.products.length - 1) {
4004
+ mergedProduct = tempOrder.products[matchedIndex];
4005
+ tempOrder.products = [].concat(_toConsumableArray(tempOrder.products.slice(0, matchedIndex)), _toConsumableArray(tempOrder.products.slice(matchedIndex + 1)), [mergedProduct]);
4006
+ }
3996
4007
  }
3997
4008
  if (linked) {
3998
4009
  tempOrder.bookings = [].concat(_toConsumableArray(tempOrder.bookings || []), [linked.booking]);
3999
4010
  }
4000
- case 24:
4011
+ case 28:
4001
4012
  case "end":
4002
4013
  return _context22.stop();
4003
4014
  }
4004
4015
  }, _callee20, this);
4005
4016
  }));
4006
- function appendProductLineToTempOrder(_x22, _x23, _x24) {
4017
+ function appendProductLineToTempOrder(_x22, _x23, _x24, _x25) {
4007
4018
  return _appendProductLineToTempOrder.apply(this, arguments);
4008
4019
  }
4009
4020
  return appendProductLineToTempOrder;
@@ -4019,61 +4030,74 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4019
4030
  }, {
4020
4031
  key: "addProductToOrder",
4021
4032
  value: (function () {
4022
- var _addProductToOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee21(product, booking) {
4023
- var tempOrder, _ref61, _productRecord$num, productRecord, splitCount, i, singleLine;
4033
+ var _addProductToOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee21(product, booking, options) {
4034
+ var tempOrder, insertAfterProductUid, anchorIndex, insertAtIndex, _ref61, _productRecord$num, productRecord, splitCount, i, singleLine;
4024
4035
  return _regeneratorRuntime().wrap(function _callee21$(_context23) {
4025
4036
  while (1) switch (_context23.prev = _context23.next) {
4026
4037
  case 0:
4027
4038
  tempOrder = this.ensureTempOrder();
4039
+ insertAfterProductUid = options === null || options === void 0 ? void 0 : options.insertAfterProductUid;
4040
+ anchorIndex = booking && insertAfterProductUid ? tempOrder.products.findIndex(function (line) {
4041
+ var _line$metadata;
4042
+ var uid = ((_line$metadata = line.metadata) === null || _line$metadata === void 0 ? void 0 : _line$metadata.unique_identification_number) || line.unique_identification_number;
4043
+ return uid !== undefined && uid !== null && String(uid) === String(insertAfterProductUid);
4044
+ }) : -1;
4045
+ insertAtIndex = anchorIndex >= 0 ? anchorIndex + 1 : undefined;
4028
4046
  if (!booking) {
4029
- _context23.next = 18;
4047
+ _context23.next = 22;
4030
4048
  break;
4031
4049
  }
4032
4050
  productRecord = product;
4033
4051
  splitCount = getSafeProductNum((_ref61 = (_productRecord$num = productRecord.num) !== null && _productRecord$num !== void 0 ? _productRecord$num : productRecord.product_quantity) !== null && _ref61 !== void 0 ? _ref61 : 1);
4034
4052
  if (!(splitCount > 1)) {
4035
- _context23.next = 18;
4053
+ _context23.next = 22;
4036
4054
  break;
4037
4055
  }
4038
4056
  i = 0;
4039
- case 6:
4057
+ case 9:
4040
4058
  if (!(i < splitCount)) {
4041
- _context23.next = 15;
4059
+ _context23.next = 19;
4042
4060
  break;
4043
4061
  }
4044
4062
  singleLine = cloneDeep(productRecord);
4045
4063
  singleLine.num = 1;
4046
4064
  delete singleLine.product_quantity;
4047
- _context23.next = 12;
4048
- return this.appendProductLineToTempOrder(tempOrder, singleLine, cloneDeep(booking));
4049
- case 12:
4065
+ _context23.next = 15;
4066
+ return this.appendProductLineToTempOrder(tempOrder, singleLine, cloneDeep(booking), {
4067
+ insertAtIndex: insertAtIndex
4068
+ });
4069
+ case 15:
4070
+ if (insertAtIndex !== undefined) insertAtIndex += 1;
4071
+ case 16:
4050
4072
  i += 1;
4051
- _context23.next = 6;
4073
+ _context23.next = 9;
4052
4074
  break;
4053
- case 15:
4054
- _context23.next = 17;
4075
+ case 19:
4076
+ _context23.next = 21;
4055
4077
  return this.finalizeProductOrderMutation(tempOrder);
4056
- case 17:
4078
+ case 21:
4057
4079
  return _context23.abrupt("return", tempOrder.products);
4058
- case 18:
4059
- _context23.next = 20;
4060
- return this.appendProductLineToTempOrder(tempOrder, product, booking);
4061
- case 20:
4062
- _context23.next = 22;
4063
- return this.finalizeProductOrderMutation(tempOrder);
4064
4080
  case 22:
4081
+ _context23.next = 24;
4082
+ return this.appendProductLineToTempOrder(tempOrder, product, booking, {
4083
+ insertAtIndex: insertAtIndex
4084
+ });
4085
+ case 24:
4086
+ _context23.next = 26;
4087
+ return this.finalizeProductOrderMutation(tempOrder);
4088
+ case 26:
4065
4089
  this.logInfo('addProductToOrder success', {
4066
4090
  product_id: product.product_id,
4067
4091
  with_booking: !!booking
4068
4092
  });
4069
4093
  return _context23.abrupt("return", tempOrder.products);
4070
- case 24:
4094
+ case 28:
4071
4095
  case "end":
4072
4096
  return _context23.stop();
4073
4097
  }
4074
4098
  }, _callee21, this);
4075
4099
  }));
4076
- function addProductToOrder(_x25, _x26) {
4100
+ function addProductToOrder(_x26, _x27, _x28) {
4077
4101
  return _addProductToOrder.apply(this, arguments);
4078
4102
  }
4079
4103
  return addProductToOrder;
@@ -4177,7 +4201,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4177
4201
  }
4178
4202
  }, _callee22, this, [[4, 32, 35, 38]]);
4179
4203
  }));
4180
- function addProductsToOrder(_x27, _x28) {
4204
+ function addProductsToOrder(_x29, _x30) {
4181
4205
  return _addProductsToOrder.apply(this, arguments);
4182
4206
  }
4183
4207
  return addProductsToOrder;
@@ -4452,7 +4476,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4452
4476
  }
4453
4477
  }, _callee23, this);
4454
4478
  }));
4455
- function updateOrderProduct(_x29) {
4479
+ function updateOrderProduct(_x31) {
4456
4480
  return _updateOrderProduct.apply(this, arguments);
4457
4481
  }
4458
4482
  return updateOrderProduct;
@@ -4496,7 +4520,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4496
4520
  }
4497
4521
  }, _callee24, this);
4498
4522
  }));
4499
- function updateOrderProducts(_x30) {
4523
+ function updateOrderProducts(_x32) {
4500
4524
  return _updateOrderProducts.apply(this, arguments);
4501
4525
  }
4502
4526
  return updateOrderProducts;
@@ -4572,7 +4596,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4572
4596
  }
4573
4597
  }, _callee25, this);
4574
4598
  }));
4575
- function updateOrderProductQuantity(_x31) {
4599
+ function updateOrderProductQuantity(_x33) {
4576
4600
  return _updateOrderProductQuantity.apply(this, arguments);
4577
4601
  }
4578
4602
  return updateOrderProductQuantity;
@@ -4637,7 +4661,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4637
4661
  }
4638
4662
  }, _callee26, this);
4639
4663
  }));
4640
- function finalizeAfterProductsMutation(_x32, _x33) {
4664
+ function finalizeAfterProductsMutation(_x34, _x35) {
4641
4665
  return _finalizeAfterProductsMutation.apply(this, arguments);
4642
4666
  }
4643
4667
  return finalizeAfterProductsMutation;
@@ -4652,9 +4676,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4652
4676
  }, {
4653
4677
  key: "removeProductsFromOrder",
4654
4678
  value: (function () {
4655
- var _removeProductsFromOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee27(identities) {
4679
+ var _removeProductsFromOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee27(identities, options) {
4656
4680
  var _this29 = this;
4657
- var tempOrder, productsBeforeRemove, bookingsBeforeRemove, matchedProducts, removedProducts, _i2, _removedProducts, product, linkedBookingUidsToRemove, _iterator21, _step21, _loop3;
4681
+ var tempOrder, productsBeforeRemove, bookingsBeforeRemove, preserveDisplayPosition, anchorIndex, productsAfterAnchor, matchedProducts, removedProducts, _i2, _removedProducts, product, linkedBookingUidsToRemove, _iterator21, _step21, _loop3, remainingProductIndex, remainingProduct, nextProduct, productsWithoutRemaining, nextProductIndex;
4658
4682
  return _regeneratorRuntime().wrap(function _callee27$(_context30) {
4659
4683
  while (1) switch (_context30.prev = _context30.next) {
4660
4684
  case 0:
@@ -4667,6 +4691,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4667
4691
  case 3:
4668
4692
  productsBeforeRemove = tempOrder.products || [];
4669
4693
  bookingsBeforeRemove = tempOrder.bookings || [];
4694
+ preserveDisplayPosition = options === null || options === void 0 ? void 0 : options.preserveDisplayPosition;
4695
+ anchorIndex = preserveDisplayPosition ? productsBeforeRemove.findIndex(function (item) {
4696
+ var _item$metadata6;
4697
+ var uid = ((_item$metadata6 = item.metadata) === null || _item$metadata6 === void 0 ? void 0 : _item$metadata6.unique_identification_number) || item.unique_identification_number;
4698
+ return uid !== undefined && uid !== null && String(uid) === String(preserveDisplayPosition.anchorProductUid);
4699
+ }) : -1;
4700
+ productsAfterAnchor = anchorIndex >= 0 ? productsBeforeRemove.slice(anchorIndex + 1) : [];
4670
4701
  matchedProducts = productsBeforeRemove.filter(function (item) {
4671
4702
  return identities.some(function (identity) {
4672
4703
  return isIdentityMatch(item, identity);
@@ -4686,7 +4717,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4686
4717
  }
4687
4718
  linkedBookingUidsToRemove = new Set();
4688
4719
  _iterator21 = _createForOfIteratorHelper(matchedProducts);
4689
- _context30.prev = 11;
4720
+ _context30.prev = 14;
4690
4721
  _loop3 = /*#__PURE__*/_regeneratorRuntime().mark(function _loop3() {
4691
4722
  var _metadata11, _metadata12, _metadata13, _metadata14;
4692
4723
  var product, productUid, productBookingUid, isAddTimeProduct;
@@ -4721,56 +4752,72 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4721
4752
  }, _loop3);
4722
4753
  });
4723
4754
  _iterator21.s();
4724
- case 14:
4755
+ case 17:
4725
4756
  if ((_step21 = _iterator21.n()).done) {
4726
- _context30.next = 20;
4757
+ _context30.next = 23;
4727
4758
  break;
4728
4759
  }
4729
- return _context30.delegateYield(_loop3(), "t0", 16);
4730
- case 16:
4760
+ return _context30.delegateYield(_loop3(), "t0", 19);
4761
+ case 19:
4731
4762
  if (!_context30.t0) {
4732
- _context30.next = 18;
4763
+ _context30.next = 21;
4733
4764
  break;
4734
4765
  }
4735
- return _context30.abrupt("continue", 18);
4736
- case 18:
4737
- _context30.next = 14;
4766
+ return _context30.abrupt("continue", 21);
4767
+ case 21:
4768
+ _context30.next = 17;
4738
4769
  break;
4739
- case 20:
4740
- _context30.next = 25;
4770
+ case 23:
4771
+ _context30.next = 28;
4741
4772
  break;
4742
- case 22:
4743
- _context30.prev = 22;
4744
- _context30.t1 = _context30["catch"](11);
4745
- _iterator21.e(_context30.t1);
4746
4773
  case 25:
4747
4774
  _context30.prev = 25;
4748
- _iterator21.f();
4749
- return _context30.finish(25);
4775
+ _context30.t1 = _context30["catch"](14);
4776
+ _iterator21.e(_context30.t1);
4750
4777
  case 28:
4778
+ _context30.prev = 28;
4779
+ _iterator21.f();
4780
+ return _context30.finish(28);
4781
+ case 31:
4751
4782
  if (linkedBookingUidsToRemove.size > 0) {
4752
4783
  // 删除主预约商品时,同步移除挂在同一 booking_uid 下的加时商品,避免残留孤儿行。
4753
4784
  tempOrder.products = (tempOrder.products || []).filter(function (line) {
4754
- var _line$metadata, _line$metadata2, _line$metadata3;
4755
- var lineBookingUid = (line === null || line === void 0 || (_line$metadata = line.metadata) === null || _line$metadata === void 0 ? void 0 : _line$metadata.booking_uid) || (line === null || line === void 0 ? void 0 : line.booking_uid);
4756
- var isAddTimeProduct = (line === null || line === void 0 || (_line$metadata2 = line.metadata) === null || _line$metadata2 === void 0 ? void 0 : _line$metadata2.product_add_schedule_time) !== undefined && (line === null || line === void 0 || (_line$metadata3 = line.metadata) === null || _line$metadata3 === void 0 ? void 0 : _line$metadata3.product_add_schedule_time) !== null;
4785
+ var _line$metadata2, _line$metadata3, _line$metadata4;
4786
+ var lineBookingUid = (line === null || line === void 0 || (_line$metadata2 = line.metadata) === null || _line$metadata2 === void 0 ? void 0 : _line$metadata2.booking_uid) || (line === null || line === void 0 ? void 0 : line.booking_uid);
4787
+ var isAddTimeProduct = (line === null || line === void 0 || (_line$metadata3 = line.metadata) === null || _line$metadata3 === void 0 ? void 0 : _line$metadata3.product_add_schedule_time) !== undefined && (line === null || line === void 0 || (_line$metadata4 = line.metadata) === null || _line$metadata4 === void 0 ? void 0 : _line$metadata4.product_add_schedule_time) !== null;
4757
4788
  return !(isAddTimeProduct && lineBookingUid !== undefined && lineBookingUid !== null && linkedBookingUidsToRemove.has(String(lineBookingUid)));
4758
4789
  });
4759
4790
  }
4760
- _context30.next = 31;
4791
+ if (preserveDisplayPosition && anchorIndex >= 0) {
4792
+ remainingProductIndex = tempOrder.products.findIndex(function (item) {
4793
+ var _item$metadata7;
4794
+ var uid = ((_item$metadata7 = item.metadata) === null || _item$metadata7 === void 0 ? void 0 : _item$metadata7.unique_identification_number) || item.unique_identification_number;
4795
+ return uid !== undefined && uid !== null && String(uid) === String(preserveDisplayPosition.remainingProductUid);
4796
+ });
4797
+ if (remainingProductIndex >= 0) {
4798
+ remainingProduct = tempOrder.products[remainingProductIndex];
4799
+ nextProduct = productsAfterAnchor.find(function (item) {
4800
+ return tempOrder.products.includes(item);
4801
+ });
4802
+ productsWithoutRemaining = [].concat(_toConsumableArray(tempOrder.products.slice(0, remainingProductIndex)), _toConsumableArray(tempOrder.products.slice(remainingProductIndex + 1)));
4803
+ nextProductIndex = nextProduct ? productsWithoutRemaining.indexOf(nextProduct) : -1;
4804
+ tempOrder.products = nextProductIndex >= 0 ? [].concat(_toConsumableArray(productsWithoutRemaining.slice(0, nextProductIndex)), [remainingProduct], _toConsumableArray(productsWithoutRemaining.slice(nextProductIndex))) : [].concat(_toConsumableArray(productsWithoutRemaining), [remainingProduct]);
4805
+ }
4806
+ }
4807
+ _context30.next = 35;
4761
4808
  return this.finalizeAfterProductsMutation(tempOrder);
4762
- case 31:
4809
+ case 35:
4763
4810
  this.logInfo('removeProductsFromOrder success', {
4764
4811
  identities: identities
4765
4812
  });
4766
4813
  return _context30.abrupt("return", tempOrder.products);
4767
- case 33:
4814
+ case 37:
4768
4815
  case "end":
4769
4816
  return _context30.stop();
4770
4817
  }
4771
- }, _callee27, this, [[11, 22, 25, 28]]);
4818
+ }, _callee27, this, [[14, 25, 28, 31]]);
4772
4819
  }));
4773
- function removeProductsFromOrder(_x34) {
4820
+ function removeProductsFromOrder(_x36, _x37) {
4774
4821
  return _removeProductsFromOrder.apply(this, arguments);
4775
4822
  }
4776
4823
  return removeProductsFromOrder;
@@ -4778,18 +4825,18 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4778
4825
  }, {
4779
4826
  key: "removeProductFromOrder",
4780
4827
  value: function () {
4781
- var _removeProductFromOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee28(identity) {
4828
+ var _removeProductFromOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee28(identity, options) {
4782
4829
  return _regeneratorRuntime().wrap(function _callee28$(_context31) {
4783
4830
  while (1) switch (_context31.prev = _context31.next) {
4784
4831
  case 0:
4785
- return _context31.abrupt("return", this.removeProductsFromOrder([identity]));
4832
+ return _context31.abrupt("return", this.removeProductsFromOrder([identity], options));
4786
4833
  case 1:
4787
4834
  case "end":
4788
4835
  return _context31.stop();
4789
4836
  }
4790
4837
  }, _callee28, this);
4791
4838
  }));
4792
- function removeProductFromOrder(_x35) {
4839
+ function removeProductFromOrder(_x38, _x39) {
4793
4840
  return _removeProductFromOrder.apply(this, arguments);
4794
4841
  }
4795
4842
  return removeProductFromOrder;
@@ -4901,7 +4948,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4901
4948
  }
4902
4949
  }, _callee30, this);
4903
4950
  }));
4904
- function applyLocalPrintOrderNumbers(_x36) {
4951
+ function applyLocalPrintOrderNumbers(_x40) {
4905
4952
  return _applyLocalPrintOrderNumbers.apply(this, arguments);
4906
4953
  }
4907
4954
  return applyLocalPrintOrderNumbers;
@@ -4968,7 +5015,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4968
5015
  }
4969
5016
  }, _callee31, this);
4970
5017
  }));
4971
- function saveTempOrderAsDraft(_x37) {
5018
+ function saveTempOrderAsDraft(_x41) {
4972
5019
  return _saveTempOrderAsDraft.apply(this, arguments);
4973
5020
  }
4974
5021
  return saveTempOrderAsDraft;
@@ -4993,7 +5040,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
4993
5040
  }
4994
5041
  }, _callee32, this);
4995
5042
  }));
4996
- function submitTempOrder(_x38) {
5043
+ function submitTempOrder(_x42) {
4997
5044
  return _submitTempOrder.apply(this, arguments);
4998
5045
  }
4999
5046
  return submitTempOrder;
@@ -5014,7 +5061,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5014
5061
  }
5015
5062
  }, _callee33, this);
5016
5063
  }));
5017
- function submitTempOrderAsync(_x39) {
5064
+ function submitTempOrderAsync(_x43) {
5018
5065
  return _submitTempOrderAsync.apply(this, arguments);
5019
5066
  }
5020
5067
  return submitTempOrderAsync;
@@ -5184,7 +5231,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5184
5231
  }
5185
5232
  }, _callee34, this, [[26, 33]]);
5186
5233
  }));
5187
- function runSubmitTempOrder(_x40) {
5234
+ function runSubmitTempOrder(_x44) {
5188
5235
  return _runSubmitTempOrder.apply(this, arguments);
5189
5236
  }
5190
5237
  return runSubmitTempOrder;
@@ -5211,7 +5258,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5211
5258
  }
5212
5259
  }, _callee35, this);
5213
5260
  }));
5214
- function markLocalOrderSynced(_x41, _x42) {
5261
+ function markLocalOrderSynced(_x45, _x46) {
5215
5262
  return _markLocalOrderSynced.apply(this, arguments);
5216
5263
  }
5217
5264
  return markLocalOrderSynced;
@@ -5287,7 +5334,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5287
5334
  var _syncPaymentsToOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee36(params) {
5288
5335
  var _this31 = this,
5289
5336
  _params$confirmPendin;
5290
- var tempOrder, needsPaymentNumber, devicePrefix, mappedPayments, shouldConfirmPendingVoucherPayments, effectivePayments, completion, orderPaidPaymentTotal, paymentStatus, paymentSyncIdempotencyToken, submitParams, submitResult;
5337
+ var tempOrder, needsPaymentNumber, devicePrefix, mappedPayments, shouldConfirmPendingVoucherPayments, effectivePayments, completion, orderPaidPaymentTotal, paymentStatus, paymentSyncIdempotencyToken, submitResult;
5291
5338
  return _regeneratorRuntime().wrap(function _callee36$(_context39) {
5292
5339
  while (1) switch (_context39.prev = _context39.next) {
5293
5340
  case 0:
@@ -5340,7 +5387,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5340
5387
  case 25:
5341
5388
  this.store.syncState = 'submitting';
5342
5389
  paymentSyncIdempotencyToken = this.buildPaymentSyncIdempotencyToken(tempOrder, effectivePayments);
5343
- submitParams = {
5390
+ _context39.next = 29;
5391
+ return this.submitTempOrder({
5344
5392
  payments: effectivePayments,
5345
5393
  paymentStatus: paymentStatus,
5346
5394
  smallTicketDataFlag: params.smallTicketDataFlag,
@@ -5353,34 +5401,19 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5353
5401
  });
5354
5402
  return nextPayload;
5355
5403
  }
5356
- };
5357
- if (!(params.checkoutSyncTaskEnabled === false)) {
5358
- _context39.next = 34;
5359
- break;
5360
- }
5361
- _context39.next = 31;
5362
- return this.submitTempOrderAsync(submitParams);
5363
- case 31:
5364
- _context39.t1 = _context39.sent;
5365
- _context39.next = 37;
5366
- break;
5367
- case 34:
5368
- _context39.next = 36;
5369
- return this.submitTempOrder(submitParams);
5370
- case 36:
5371
- _context39.t1 = _context39.sent;
5372
- case 37:
5373
- submitResult = _context39.t1;
5404
+ });
5405
+ case 29:
5406
+ submitResult = _context39.sent;
5374
5407
  return _context39.abrupt("return", _objectSpread(_objectSpread({}, completion), {}, {
5375
5408
  submitResult: submitResult
5376
5409
  }));
5377
- case 39:
5410
+ case 31:
5378
5411
  case "end":
5379
5412
  return _context39.stop();
5380
5413
  }
5381
5414
  }, _callee36, this);
5382
5415
  }));
5383
- function syncPaymentsToOrder(_x43) {
5416
+ function syncPaymentsToOrder(_x47) {
5384
5417
  return _syncPaymentsToOrder.apply(this, arguments);
5385
5418
  }
5386
5419
  return syncPaymentsToOrder;
@@ -5388,7 +5421,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5388
5421
  }, {
5389
5422
  key: "createOrder",
5390
5423
  value: function createOrder(params) {
5391
- var _this32 = this;
5392
5424
  var order = _objectSpread({
5393
5425
  type: (params === null || params === void 0 ? void 0 : params.type) || 'appointment_booking',
5394
5426
  // 要从外面拿,virtual
@@ -5400,13 +5432,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5400
5432
  schedule_date: '',
5401
5433
  is_deposit: 0,
5402
5434
  relation_products: [],
5403
- relation_forms: [],
5404
- business_code: params === null || params === void 0 ? void 0 : params.business_code
5435
+ relation_forms: []
5405
5436
  }, (params === null || params === void 0 ? void 0 : params.extraData) || {});
5406
5437
  var is_deposit = 0; // 是否存在定金,0 不存在,1 存在
5407
5438
  if (params.cartItems.length > 0) {
5408
5439
  params.cartItems.forEach(function (item) {
5409
- var _params$extraData;
5410
5440
  if (!item._origin.duration) {
5411
5441
  var _generateDuration = generateDuration(item),
5412
5442
  duration = _generateDuration.duration,
@@ -5418,11 +5448,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5418
5448
  var discountList = getAllDiscountList(item);
5419
5449
  item._origin.product.discount_list = discountList;
5420
5450
 
5421
- // 为预约补齐 holder 信息
5422
- if (params !== null && params !== void 0 && (_params$extraData = params.extraData) !== null && _params$extraData !== void 0 && _params$extraData.is_add_holder_info) {
5423
- ensureCartItemOriginHolder(item, _this32.window);
5424
- }
5425
-
5426
5451
  // 购物车是否为普通商品
5427
5452
  if (isNormalProduct(item._origin)) {
5428
5453
  var _order$relation_forms;
@@ -5508,7 +5533,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5508
5533
  }
5509
5534
  }, _callee37, this);
5510
5535
  }));
5511
- function submitOrder(_x44) {
5536
+ function submitOrder(_x48) {
5512
5537
  return _submitOrder.apply(this, arguments);
5513
5538
  }
5514
5539
  return submitOrder;
@@ -5547,7 +5572,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5547
5572
  }
5548
5573
  }, _callee38, this);
5549
5574
  }));
5550
- function cancelOrder(_x45) {
5575
+ function cancelOrder(_x49) {
5551
5576
  return _cancelOrder.apply(this, arguments);
5552
5577
  }
5553
5578
  return cancelOrder;
@@ -5591,7 +5616,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5591
5616
  }
5592
5617
  }, _callee39, this);
5593
5618
  }));
5594
- function changeBookingStatus(_x46) {
5619
+ function changeBookingStatus(_x50) {
5595
5620
  return _changeBookingStatus.apply(this, arguments);
5596
5621
  }
5597
5622
  return changeBookingStatus;
@@ -5738,7 +5763,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5738
5763
  }
5739
5764
  }, _callee40, this, [[4, 18]]);
5740
5765
  }));
5741
- function createOrderByCheckout(_x47) {
5766
+ function createOrderByCheckout(_x51) {
5742
5767
  return _createOrderByCheckout.apply(this, arguments);
5743
5768
  }
5744
5769
  return createOrderByCheckout;
@@ -5763,7 +5788,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5763
5788
  }
5764
5789
  }, _callee41, this);
5765
5790
  }));
5766
- function submitSalesOrder(_x48) {
5791
+ function submitSalesOrder(_x52) {
5767
5792
  return _submitSalesOrder.apply(this, arguments);
5768
5793
  }
5769
5794
  return submitSalesOrder;
@@ -5807,7 +5832,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5807
5832
  }
5808
5833
  }, _callee42, this);
5809
5834
  }));
5810
- function sendCustomerPayLink(_x49) {
5835
+ function sendCustomerPayLink(_x53) {
5811
5836
  return _sendCustomerPayLink.apply(this, arguments);
5812
5837
  }
5813
5838
  return sendCustomerPayLink;
@@ -5851,7 +5876,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5851
5876
  }
5852
5877
  }, _callee43, this);
5853
5878
  }));
5854
- function getSalesOrderByLookup(_x50) {
5879
+ function getSalesOrderByLookup(_x54) {
5855
5880
  return _getSalesOrderByLookup.apply(this, arguments);
5856
5881
  }
5857
5882
  return getSalesOrderByLookup;
@@ -5966,7 +5991,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5966
5991
  }
5967
5992
  }, _callee44, this);
5968
5993
  }));
5969
- function hydrateTempOrderFromRecord(_x51, _x52) {
5994
+ function hydrateTempOrderFromRecord(_x55, _x56) {
5970
5995
  return _hydrateTempOrderFromRecord.apply(this, arguments);
5971
5996
  }
5972
5997
  return hydrateTempOrderFromRecord;
@@ -6080,7 +6105,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
6080
6105
  }, {
6081
6106
  key: "normalizeTempOrderForRuntime",
6082
6107
  value: function normalizeTempOrderForRuntime(raw, options) {
6083
- var _this33 = this;
6108
+ var _this32 = this;
6084
6109
  var runtimeRaw = this.withoutSyntheticDraftOrderIdForRuntime(raw);
6085
6110
  var nextTempOrder = _objectSpread(_objectSpread({}, this.createDefaultTempOrderInstance()), runtimeRaw || {});
6086
6111
  // ES 列表详情使用 id 表示订单主键;OS 详情态统一依赖 order_id 驱动操作按钮。
@@ -6104,12 +6129,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
6104
6129
  nextTempOrder.holder = raw.holder && _typeof(raw.holder) === 'object' ? _objectSpread({}, raw.holder) : null;
6105
6130
  var rawProducts = Array.isArray(raw.products) ? raw.products : [];
6106
6131
  nextTempOrder.products = rawProducts.length > 0 ? rawProducts.map(function (p) {
6107
- return _this33.normalizeHydratedOrderProduct(p, {
6132
+ return _this32.normalizeHydratedOrderProduct(p, {
6108
6133
  makeEditMark: options === null || options === void 0 ? void 0 : options.makeEditMark
6109
6134
  });
6110
6135
  }) : [];
6111
6136
  nextTempOrder.bookings = Array.isArray(raw.bookings) ? raw.bookings.map(function (b) {
6112
- var booking = _this33.normalizeHydratedBookingHolder(b || {});
6137
+ var booking = _this32.normalizeHydratedBookingHolder(b || {});
6113
6138
  return _objectSpread(_objectSpread({}, booking), {}, {
6114
6139
  is_all: normalizeBookingIsAll(booking),
6115
6140
  sub_type: normalizeBookingSubType(booking)
@@ -6296,7 +6321,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
6296
6321
  }, {
6297
6322
  key: "normalizeHydratedOrderProduct",
6298
6323
  value: function normalizeHydratedOrderProduct(product, options) {
6299
- var _this34 = this;
6324
+ var _this33 = this;
6300
6325
  var row = _objectSpread({}, product || {});
6301
6326
  if (row.num === undefined && row.product_quantity !== undefined) {
6302
6327
  row.num = row.product_quantity;
@@ -6304,7 +6329,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
6304
6329
  var productSku = ensureProductSku(row);
6305
6330
  row.product_sku = _objectSpread(_objectSpread({}, productSku), {}, {
6306
6331
  option: normalizeProductSkuOptions(productSku.option.map(function (optionItem) {
6307
- return _this34.normalizeHydratedProductOptionItem(optionItem || {});
6332
+ return _this33.normalizeHydratedProductOptionItem(optionItem || {});
6308
6333
  }))
6309
6334
  });
6310
6335
  delete row["product_".concat('option', "_item")];
@@ -6361,7 +6386,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
6361
6386
  }
6362
6387
  }, _callee45, this);
6363
6388
  }));
6364
- function getOrderInfo(_x53) {
6389
+ function getOrderInfo(_x57) {
6365
6390
  return _getOrderInfo.apply(this, arguments);
6366
6391
  }
6367
6392
  return getOrderInfo;