@pisell/pisellos 2.2.170 → 2.2.172
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/model/strategy/adapter/promotion/index.js +0 -9
- package/dist/modules/Order/index.d.ts +21 -2
- package/dist/modules/Order/index.js +68 -32
- package/dist/modules/Order/types.d.ts +9 -4
- package/dist/modules/Order/utils.d.ts +6 -1
- package/dist/modules/Order/utils.js +43 -5
- package/dist/modules/Quotation/index.js +16 -5
- package/dist/modules/Schedule/index.js +6 -2
- package/dist/server/index.js +10 -6
- package/dist/server/modules/products/index.js +9 -8
- package/dist/server/modules/schedule/index.js +13 -6
- package/dist/solution/BaseSales/index.d.ts +19 -0
- package/dist/solution/BaseSales/index.js +75 -18
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.d.ts +1 -1
- package/lib/modules/Order/index.d.ts +21 -2
- package/lib/modules/Order/index.js +58 -11
- package/lib/modules/Order/types.d.ts +9 -4
- package/lib/modules/Order/utils.d.ts +6 -1
- package/lib/modules/Order/utils.js +40 -3
- package/lib/modules/Quotation/index.js +17 -6
- package/lib/modules/Schedule/index.js +3 -1
- package/lib/server/index.js +2 -0
- package/lib/server/modules/products/index.js +8 -9
- package/lib/server/modules/schedule/index.js +2 -1
- package/lib/solution/BaseSales/index.d.ts +19 -0
- package/lib/solution/BaseSales/index.js +64 -6
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
// 导出评估器
|
|
2
|
-
export { PromotionEvaluator } from "./evaluator";
|
|
3
|
-
|
|
4
|
-
// 导出适配器
|
|
5
|
-
export { PromotionAdapter } from "./adapter";
|
|
6
|
-
export { default } from "./adapter";
|
|
7
|
-
|
|
8
|
-
// 导出策略配置示例常量
|
|
9
|
-
export { X_ITEMS_FOR_Y_PRICE_STRATEGY, BUY_X_GET_Y_FREE_STRATEGY } from "./examples";
|
|
@@ -19,6 +19,8 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
19
19
|
private rulesHooksOverride?;
|
|
20
20
|
private orderHooks?;
|
|
21
21
|
private otherParams?;
|
|
22
|
+
/** 是否将 tempOrder 写入 localStorage;默认 true,SalesSdk 等内存态场景可关闭。 */
|
|
23
|
+
private enableTempOrderPersist;
|
|
22
24
|
/**
|
|
23
25
|
* Populate `savedAmount` on each discount based on product-level discount details.
|
|
24
26
|
* Only selected discounts get a non-zero value.
|
|
@@ -55,6 +57,23 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
55
57
|
}): void;
|
|
56
58
|
private getTempOrderStorageKey;
|
|
57
59
|
private restoreTempOrderFromStorage;
|
|
60
|
+
/**
|
|
61
|
+
* 运行时切换 tempOrder localStorage 持久化。
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* orderModule.setEnableTempOrderPersist(false);
|
|
65
|
+
* orderModule.addProductToOrder(product); // 不会写入 localStorage
|
|
66
|
+
*/
|
|
67
|
+
setEnableTempOrderPersist(enabled: boolean): void;
|
|
68
|
+
/**
|
|
69
|
+
* 读取当前是否启用 tempOrder localStorage 持久化。
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* if (orderModule.isTempOrderPersistEnabled()) {
|
|
73
|
+
* orderModule.persistTempOrder();
|
|
74
|
+
* }
|
|
75
|
+
*/
|
|
76
|
+
isTempOrderPersistEnabled(): boolean;
|
|
58
77
|
persistTempOrder(): void;
|
|
59
78
|
private createDefaultTempOrderInstance;
|
|
60
79
|
private createExternalSaleNumber;
|
|
@@ -157,7 +176,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
157
176
|
updateOrderBooking(params: UpdateOrderBookingParams): any[];
|
|
158
177
|
removeProductFromOrder(identity: OrderProductIdentity): Promise<OrderProduct[]>;
|
|
159
178
|
/**
|
|
160
|
-
* 仅清空购物车行(products / bookings
|
|
179
|
+
* 仅清空购物车行(products / bookings),不重置整单。
|
|
161
180
|
* 用于「仅清空商品」;客户、备注、支付等协议字段保持不变。
|
|
162
181
|
*/
|
|
163
182
|
clearOrderCartLines(): Promise<OrderTempOrder>;
|
|
@@ -185,7 +204,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
185
204
|
private logSubmitBackendRejected;
|
|
186
205
|
syncPaymentsToOrder<T = any>(params: SyncPaymentsToOrderParams): Promise<SyncPaymentsToOrderResult<T>>;
|
|
187
206
|
createOrder(params: CommitOrderParams['query']): {
|
|
188
|
-
type: "
|
|
207
|
+
type: "appointment_booking" | "virtual";
|
|
189
208
|
platform: string;
|
|
190
209
|
sales_channel: string;
|
|
191
210
|
order_sales_channel: string;
|
|
@@ -26,7 +26,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
26
26
|
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); }
|
|
27
27
|
import { BaseModule } from "../BaseModule";
|
|
28
28
|
import { OrderHooks } from "./types";
|
|
29
|
-
import { generateDuration, getAllDiscountList, mergeRelationForms, buildSubmitPayload, createDefaultTempOrder, createDefaultOrderRulesHooks, createEmptySummary, createUuidV4, formatDateTime, isTempOrder, normalizeBookingIsAll, normalizeBookingSubType, mapPaymentItemsToOrderPayments } from "./utils";
|
|
29
|
+
import { generateDuration, getAllDiscountList, mergeRelationForms, buildSubmitPayload, createDefaultTempOrder, createDefaultOrderRulesHooks, createEmptySummary, createUuidV4, formatDateTime, isTempOrder, normalizeBookingIsAll, normalizeBookingSubType, mapPaymentItemsToOrderPayments, normalizeOrderProductDiscountList } from "./utils";
|
|
30
30
|
import { isNormalProduct } from "../Product/utils";
|
|
31
31
|
import dayjs from 'dayjs';
|
|
32
32
|
import { buildProductLineFingerprint, getProductIdentityIndex, getSafeProductNum, isIdentityMatch, normalizeOrderProduct } from "../../solution/ScanOrder/utils";
|
|
@@ -57,6 +57,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
57
57
|
_defineProperty(_assertThisInitialized(_this), "rulesHooksOverride", void 0);
|
|
58
58
|
_defineProperty(_assertThisInitialized(_this), "orderHooks", void 0);
|
|
59
59
|
_defineProperty(_assertThisInitialized(_this), "otherParams", void 0);
|
|
60
|
+
/** 是否将 tempOrder 写入 localStorage;默认 true,SalesSdk 等内存态场景可关闭。 */
|
|
61
|
+
_defineProperty(_assertThisInitialized(_this), "enableTempOrderPersist", true);
|
|
60
62
|
return _this;
|
|
61
63
|
}
|
|
62
64
|
_createClass(OrderModule, [{
|
|
@@ -94,10 +96,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
94
96
|
this.rulesHooksOverride = (_otherParams$rules = otherParams.rules) === null || _otherParams$rules === void 0 ? void 0 : _otherParams$rules.hooks;
|
|
95
97
|
this.orderHooks = options.hooks || ((_otherParams$order = otherParams.order) === null || _otherParams$order === void 0 ? void 0 : _otherParams$order.hooks) || ((_otherParams$hooks = otherParams.hooks) === null || _otherParams$hooks === void 0 ? void 0 : _otherParams$hooks.order);
|
|
96
98
|
this.otherParams = otherParams;
|
|
99
|
+
this.enableTempOrderPersist = otherParams.enableTempOrderPersist !== false;
|
|
97
100
|
this.registerDiscountModules(options);
|
|
98
|
-
this.
|
|
101
|
+
if (this.enableTempOrderPersist) {
|
|
102
|
+
this.restoreTempOrderFromStorage();
|
|
103
|
+
}
|
|
99
104
|
this.logInfo('OrderModule initialized successfully');
|
|
100
|
-
case
|
|
105
|
+
case 22:
|
|
101
106
|
case "end":
|
|
102
107
|
return _context.stop();
|
|
103
108
|
}
|
|
@@ -360,8 +365,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
360
365
|
var tempOrder = this.store.tempOrder;
|
|
361
366
|
// 任意 products CRUD 后都应当重算 discount 状态;即使 products 为空,
|
|
362
367
|
// 也需要让 Rules.calcDiscount 把 DiscountModule 的 isSelected / isAvailable /
|
|
363
|
-
// appliedProductDetails / savedAmount
|
|
368
|
+
// appliedProductDetails / savedAmount 复位。
|
|
364
369
|
if (!tempOrder) return;
|
|
370
|
+
delete tempOrder.discount_list;
|
|
365
371
|
var rulesModule = this.store.rules;
|
|
366
372
|
if (!rulesModule) return;
|
|
367
373
|
var discountList = ((_this$store$discount7 = this.store.discount) === null || _this$store$discount7 === void 0 ? void 0 : _this$store$discount7.getDiscountList()) || [];
|
|
@@ -378,7 +384,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
378
384
|
if (result !== null && result !== void 0 && result.productList) {
|
|
379
385
|
tempOrder.products = (result.productList || []).map(function (product) {
|
|
380
386
|
return _objectSpread(_objectSpread({}, product), {}, {
|
|
381
|
-
discount_list: syncManualProductDiscountProductNum(product.discount_list, product.num)
|
|
387
|
+
discount_list: normalizeOrderProductDiscountList(syncManualProductDiscountProductNum(product.discount_list, product.num))
|
|
382
388
|
});
|
|
383
389
|
});
|
|
384
390
|
}
|
|
@@ -386,9 +392,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
386
392
|
var _this$store$discount8;
|
|
387
393
|
OrderModule.populateSavedAmounts(result.productList || tempOrder.products, result.discountList);
|
|
388
394
|
(_this$store$discount8 = this.store.discount) === null || _this$store$discount8 === void 0 || _this$store$discount8.setDiscountList(result.discountList);
|
|
389
|
-
tempOrder.discount_list = result.discountList.filter(function (d) {
|
|
390
|
-
return d.isSelected;
|
|
391
|
-
});
|
|
392
395
|
}
|
|
393
396
|
}
|
|
394
397
|
|
|
@@ -438,9 +441,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
438
441
|
// 否则(v1 或无 metadata)→ 走 legacyDiscount 反推分支,基于新的 source + options
|
|
439
442
|
// 重算出含 option 的 main_product_*,并打上 price_schema_version: 2。
|
|
440
443
|
// 幂等:多次 restore 不会重复叠加 option/bundle。
|
|
441
|
-
|
|
444
|
+
var normalized = normalizeOrderProduct(row);
|
|
445
|
+
normalized.discount_list = normalizeOrderProductDiscountList(normalized.discount_list);
|
|
446
|
+
parsedData.products[i] = normalized;
|
|
442
447
|
}
|
|
443
448
|
}
|
|
449
|
+
delete parsedData.discount_list;
|
|
444
450
|
var parsedRecord = parsedData;
|
|
445
451
|
this.store.summary = parsedRecord.summary || createEmptySummary();
|
|
446
452
|
delete parsedData.summary;
|
|
@@ -461,9 +467,37 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
461
467
|
(_this$window = this.window) === null || _this$window === void 0 || (_this$window = _this$window.localStorage) === null || _this$window === void 0 || _this$window.removeItem(key);
|
|
462
468
|
}
|
|
463
469
|
}
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* 运行时切换 tempOrder localStorage 持久化。
|
|
473
|
+
*
|
|
474
|
+
* @example
|
|
475
|
+
* orderModule.setEnableTempOrderPersist(false);
|
|
476
|
+
* orderModule.addProductToOrder(product); // 不会写入 localStorage
|
|
477
|
+
*/
|
|
478
|
+
}, {
|
|
479
|
+
key: "setEnableTempOrderPersist",
|
|
480
|
+
value: function setEnableTempOrderPersist(enabled) {
|
|
481
|
+
this.enableTempOrderPersist = enabled;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
/**
|
|
485
|
+
* 读取当前是否启用 tempOrder localStorage 持久化。
|
|
486
|
+
*
|
|
487
|
+
* @example
|
|
488
|
+
* if (orderModule.isTempOrderPersistEnabled()) {
|
|
489
|
+
* orderModule.persistTempOrder();
|
|
490
|
+
* }
|
|
491
|
+
*/
|
|
492
|
+
}, {
|
|
493
|
+
key: "isTempOrderPersistEnabled",
|
|
494
|
+
value: function isTempOrderPersistEnabled() {
|
|
495
|
+
return this.enableTempOrderPersist;
|
|
496
|
+
}
|
|
464
497
|
}, {
|
|
465
498
|
key: "persistTempOrder",
|
|
466
499
|
value: function persistTempOrder() {
|
|
500
|
+
if (!this.enableTempOrderPersist) return;
|
|
467
501
|
var key = this.getTempOrderStorageKey();
|
|
468
502
|
if (!key || !this.store.tempOrder) return;
|
|
469
503
|
if (!this.window) return;
|
|
@@ -1598,6 +1632,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1598
1632
|
productToAdd = (linked === null || linked === void 0 ? void 0 : linked.product) || product;
|
|
1599
1633
|
incomingFingerprint = buildProductLineFingerprint(productToAdd.product_option_item, productToAdd.product_bundle);
|
|
1600
1634
|
normalizedIncoming = normalizeOrderProduct(productToAdd);
|
|
1635
|
+
normalizedIncoming.discount_list = normalizeOrderProductDiscountList(normalizedIncoming.discount_list);
|
|
1601
1636
|
hasIncomingGoodPass = this.hasGoodPassDiscount(normalizedIncoming);
|
|
1602
1637
|
shouldForceNewLine = !!booking;
|
|
1603
1638
|
matchedIndex = hasIncomingGoodPass || shouldForceNewLine ? -1 : tempOrder.products.findIndex(function (item) {
|
|
@@ -1610,10 +1645,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1610
1645
|
matchedProduct = matchedIndex === -1 ? null : tempOrder.products[matchedIndex];
|
|
1611
1646
|
existedFingerprint = matchedProduct ? buildProductLineFingerprint(matchedProduct.product_option_item, matchedProduct.product_bundle) : '';
|
|
1612
1647
|
if (!matchedProduct) {
|
|
1613
|
-
_context15.next =
|
|
1648
|
+
_context15.next = 17;
|
|
1614
1649
|
break;
|
|
1615
1650
|
}
|
|
1616
|
-
_context15.next =
|
|
1651
|
+
_context15.next = 14;
|
|
1617
1652
|
return this.shouldMergeProductToOrder({
|
|
1618
1653
|
incomingProduct: productToAdd,
|
|
1619
1654
|
normalizedIncoming: normalizedIncoming,
|
|
@@ -1624,13 +1659,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1624
1659
|
tempOrder: tempOrder,
|
|
1625
1660
|
booking: booking
|
|
1626
1661
|
});
|
|
1627
|
-
case
|
|
1662
|
+
case 14:
|
|
1628
1663
|
_context15.t0 = _context15.sent;
|
|
1629
|
-
_context15.next =
|
|
1664
|
+
_context15.next = 18;
|
|
1630
1665
|
break;
|
|
1631
|
-
case 16:
|
|
1632
|
-
_context15.t0 = false;
|
|
1633
1666
|
case 17:
|
|
1667
|
+
_context15.t0 = false;
|
|
1668
|
+
case 18:
|
|
1634
1669
|
shouldMerge = _context15.t0;
|
|
1635
1670
|
if (matchedIndex === -1 || !matchedProduct || !shouldMerge) {
|
|
1636
1671
|
this.captureProductRuntime(tempOrder, productToAdd, normalizedIncoming);
|
|
@@ -1649,6 +1684,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1649
1684
|
unique_identification_number: targetUid
|
|
1650
1685
|
})
|
|
1651
1686
|
}));
|
|
1687
|
+
normalizedProduct.discount_list = normalizeOrderProductDiscountList(normalizedProduct.discount_list);
|
|
1652
1688
|
tempOrder.products[matchedIndex] = _objectSpread(_objectSpread(_objectSpread({}, targetProduct), normalizedProduct), {}, {
|
|
1653
1689
|
metadata: _objectSpread(_objectSpread(_objectSpread({}, targetProduct.metadata || {}), normalizedProduct.metadata || {}), {}, {
|
|
1654
1690
|
unique_identification_number: targetUid
|
|
@@ -1663,14 +1699,14 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1663
1699
|
tempOrder.bookings = [].concat(_toConsumableArray(tempOrder.bookings || []), [linked.booking]);
|
|
1664
1700
|
}
|
|
1665
1701
|
this.applyDiscount();
|
|
1666
|
-
_context15.next =
|
|
1702
|
+
_context15.next = 24;
|
|
1667
1703
|
return this.recalculateSummary({
|
|
1668
1704
|
createIfMissing: true
|
|
1669
1705
|
});
|
|
1670
|
-
case
|
|
1706
|
+
case 24:
|
|
1671
1707
|
this.persistTempOrder();
|
|
1672
1708
|
return _context15.abrupt("return", tempOrder.products);
|
|
1673
|
-
case
|
|
1709
|
+
case 26:
|
|
1674
1710
|
case "end":
|
|
1675
1711
|
return _context15.stop();
|
|
1676
1712
|
}
|
|
@@ -1771,6 +1807,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1771
1807
|
// normalizeOrderProduct 幂等:v2 metadata 存在 → 保留 main_product_* 折扣重算 composite;
|
|
1772
1808
|
// 否则 → 把顶层 selling_price 视作 source,派生 main_product_* 并写 price_schema_version: 2。
|
|
1773
1809
|
normalizedProduct = normalizeOrderProduct(nextProduct);
|
|
1810
|
+
normalizedProduct.discount_list = normalizeOrderProductDiscountList(normalizedProduct.discount_list);
|
|
1774
1811
|
if (booking) {
|
|
1775
1812
|
productUid = String(((_normalizedProduct$me = normalizedProduct.metadata) === null || _normalizedProduct$me === void 0 ? void 0 : _normalizedProduct$me.unique_identification_number) || ((_targetProduct$metada3 = targetProduct.metadata) === null || _targetProduct$metada3 === void 0 ? void 0 : _targetProduct$metada3.unique_identification_number) || unique_identification_number || createUuidV4());
|
|
1776
1813
|
normalizedProduct.metadata = _objectSpread(_objectSpread({}, normalizedProduct.metadata || {}), {}, {
|
|
@@ -1795,14 +1832,14 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1795
1832
|
tempOrder.products[productIndex] = normalizedProduct;
|
|
1796
1833
|
this.captureProductRuntime(tempOrder, updates, tempOrder.products[productIndex], (_tempOrder$products$p = tempOrder.products[productIndex].metadata) === null || _tempOrder$products$p === void 0 ? void 0 : _tempOrder$products$p.unique_identification_number);
|
|
1797
1834
|
this.applyDiscount();
|
|
1798
|
-
_context16.next =
|
|
1835
|
+
_context16.next = 26;
|
|
1799
1836
|
return this.recalculateSummary({
|
|
1800
1837
|
createIfMissing: true
|
|
1801
1838
|
});
|
|
1802
|
-
case
|
|
1839
|
+
case 26:
|
|
1803
1840
|
this.persistTempOrder();
|
|
1804
1841
|
return _context16.abrupt("return", tempOrder.products);
|
|
1805
|
-
case
|
|
1842
|
+
case 28:
|
|
1806
1843
|
case "end":
|
|
1807
1844
|
return _context16.stop();
|
|
1808
1845
|
}
|
|
@@ -1861,16 +1898,17 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1861
1898
|
unique_identification_number: ((_targetProduct$metada4 = targetProduct.metadata) === null || _targetProduct$metada4 === void 0 ? void 0 : _targetProduct$metada4.unique_identification_number) || unique_identification_number
|
|
1862
1899
|
})
|
|
1863
1900
|
}));
|
|
1901
|
+
normalizedProduct.discount_list = normalizeOrderProductDiscountList(normalizedProduct.discount_list);
|
|
1864
1902
|
tempOrder.products[productIndex] = normalizedProduct;
|
|
1865
1903
|
this.applyDiscount();
|
|
1866
|
-
_context17.next =
|
|
1904
|
+
_context17.next = 19;
|
|
1867
1905
|
return this.recalculateSummary({
|
|
1868
1906
|
createIfMissing: true
|
|
1869
1907
|
});
|
|
1870
|
-
case
|
|
1908
|
+
case 19:
|
|
1871
1909
|
this.persistTempOrder();
|
|
1872
1910
|
return _context17.abrupt("return", tempOrder.products);
|
|
1873
|
-
case
|
|
1911
|
+
case 21:
|
|
1874
1912
|
case "end":
|
|
1875
1913
|
return _context17.stop();
|
|
1876
1914
|
}
|
|
@@ -1943,7 +1981,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1943
1981
|
return removeProductFromOrder;
|
|
1944
1982
|
}()
|
|
1945
1983
|
/**
|
|
1946
|
-
* 仅清空购物车行(products / bookings
|
|
1984
|
+
* 仅清空购物车行(products / bookings),不重置整单。
|
|
1947
1985
|
* 用于「仅清空商品」;客户、备注、支付等协议字段保持不变。
|
|
1948
1986
|
*/
|
|
1949
1987
|
}, {
|
|
@@ -1957,21 +1995,20 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1957
1995
|
tempOrder = this.ensureTempOrder();
|
|
1958
1996
|
tempOrder.products = [];
|
|
1959
1997
|
tempOrder.bookings = [];
|
|
1960
|
-
tempOrder.discount_list = [];
|
|
1961
1998
|
if (tempOrder._extend && _typeof(tempOrder._extend) === 'object') {
|
|
1962
1999
|
tempOrder._extend = _objectSpread(_objectSpread({}, tempOrder._extend), {}, {
|
|
1963
2000
|
productsByUid: {}
|
|
1964
2001
|
});
|
|
1965
2002
|
}
|
|
1966
2003
|
this.applyDiscount();
|
|
1967
|
-
_context19.next =
|
|
2004
|
+
_context19.next = 7;
|
|
1968
2005
|
return this.recalculateSummary({
|
|
1969
2006
|
createIfMissing: true
|
|
1970
2007
|
});
|
|
1971
|
-
case
|
|
2008
|
+
case 7:
|
|
1972
2009
|
this.persistTempOrder();
|
|
1973
2010
|
return _context19.abrupt("return", tempOrder);
|
|
1974
|
-
case
|
|
2011
|
+
case 9:
|
|
1975
2012
|
case "end":
|
|
1976
2013
|
return _context19.stop();
|
|
1977
2014
|
}
|
|
@@ -2717,6 +2754,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2717
2754
|
var nextTempOrder = _objectSpread(_objectSpread({}, this.createDefaultTempOrderInstance()), raw || {});
|
|
2718
2755
|
delete nextTempOrder.summary;
|
|
2719
2756
|
delete nextTempOrder.lastOrderInfo;
|
|
2757
|
+
delete nextTempOrder.discount_list;
|
|
2720
2758
|
nextTempOrder.metadata = raw.metadata && _typeof(raw.metadata) === 'object' ? _objectSpread({}, raw.metadata) : {};
|
|
2721
2759
|
nextTempOrder.holder = raw.holder && _typeof(raw.holder) === 'object' ? _objectSpread({}, raw.holder) : null;
|
|
2722
2760
|
nextTempOrder.products = Array.isArray(raw.products) ? raw.products.map(function (p) {
|
|
@@ -2734,9 +2772,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2734
2772
|
nextTempOrder.surcharges = Array.isArray(raw.surcharges) ? raw.surcharges.map(function (s) {
|
|
2735
2773
|
return _objectSpread({}, s || {});
|
|
2736
2774
|
}) : [];
|
|
2737
|
-
nextTempOrder.discount_list = Array.isArray(raw.discount_list) ? raw.discount_list.map(function (d) {
|
|
2738
|
-
return _objectSpread({}, d || {});
|
|
2739
|
-
}) : [];
|
|
2740
2775
|
nextTempOrder.relation_forms = Array.isArray(raw.relation_forms) ? raw.relation_forms.map(function (f) {
|
|
2741
2776
|
return _objectSpread({}, f || {});
|
|
2742
2777
|
}) : [];
|
|
@@ -2769,6 +2804,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2769
2804
|
row.metadata.unique_identification_number = createUuidV4();
|
|
2770
2805
|
}
|
|
2771
2806
|
var normalized = normalizeOrderProduct(row);
|
|
2807
|
+
normalized.discount_list = normalizeOrderProductDiscountList(normalized.discount_list);
|
|
2772
2808
|
var result = _objectSpread(_objectSpread(_objectSpread({}, row), normalized), {}, {
|
|
2773
2809
|
metadata: _objectSpread(_objectSpread({}, row.metadata), normalized.metadata)
|
|
2774
2810
|
});
|
|
@@ -6,6 +6,8 @@ import type { UnavailableReason } from '../Rules/types';
|
|
|
6
6
|
import type { SubmitPayloadEnhancer } from './utils';
|
|
7
7
|
import type { PaymentItem } from '../Payment/types';
|
|
8
8
|
import type { ICustomer } from '../AccountList/types';
|
|
9
|
+
import type { OrderProductDiscountItem } from '../../server/modules/order/types';
|
|
10
|
+
export type { OrderProductDiscountItem } from '../../server/modules/order/types';
|
|
9
11
|
export declare enum OrderHooks {
|
|
10
12
|
OnOrderCreate = "order:onOrderCreate",
|
|
11
13
|
OnOrderUpdate = "order:onOrderUpdate",
|
|
@@ -74,7 +76,7 @@ export interface OrderProduct extends OrderProductIdentity {
|
|
|
74
76
|
original_price: string;
|
|
75
77
|
tax_fee: string;
|
|
76
78
|
is_charge_tax: number;
|
|
77
|
-
discount_list:
|
|
79
|
+
discount_list: OrderProductDiscountItem[];
|
|
78
80
|
product_bundle: any[];
|
|
79
81
|
booking_uid?: string;
|
|
80
82
|
metadata: Record<string, any>;
|
|
@@ -149,7 +151,7 @@ export interface OrderTempOrder {
|
|
|
149
151
|
bookings: any[];
|
|
150
152
|
payments: any[];
|
|
151
153
|
surcharges: any[];
|
|
152
|
-
discount_list
|
|
154
|
+
discount_list?: any[];
|
|
153
155
|
relation_forms: any[];
|
|
154
156
|
contacts: any[];
|
|
155
157
|
contacts_info: Record<string, any> | null;
|
|
@@ -165,7 +167,7 @@ export interface OrderSubmitProduct extends Omit<OrderProduct, 'unique_identific
|
|
|
165
167
|
payment_price: string;
|
|
166
168
|
product_sku: Record<string, any>;
|
|
167
169
|
}
|
|
168
|
-
export interface OrderSubmitPayload extends Omit<OrderTempOrder, 'platform' | 'products' | '_extend' | 'customer'> {
|
|
170
|
+
export interface OrderSubmitPayload extends Omit<OrderTempOrder, 'platform' | 'products' | '_extend' | 'customer' | 'discount_list'> {
|
|
169
171
|
platform: string;
|
|
170
172
|
request_unique_idempotency_token?: string;
|
|
171
173
|
form_record_ids?: Array<{
|
|
@@ -296,7 +298,6 @@ export interface SubmitSalesOrderParams {
|
|
|
296
298
|
bookings: OrderSubmitBooking[];
|
|
297
299
|
payments: any[];
|
|
298
300
|
surcharges?: any[];
|
|
299
|
-
discount_list: any[];
|
|
300
301
|
relation_forms: any[];
|
|
301
302
|
form_record_ids?: OrderSubmitFormRecord[];
|
|
302
303
|
contacts: any[];
|
|
@@ -500,6 +501,10 @@ export interface OrderModuleAPI {
|
|
|
500
501
|
updateOrderBooking: (params: UpdateOrderBookingParams) => any[];
|
|
501
502
|
removeProductFromOrder: (identity: OrderProductIdentity) => Promise<OrderProduct[]>;
|
|
502
503
|
persistTempOrder: () => void;
|
|
504
|
+
/** 运行时切换 tempOrder localStorage 持久化开关。 */
|
|
505
|
+
setEnableTempOrderPersist: (enabled: boolean) => void;
|
|
506
|
+
/** 当前是否启用 tempOrder localStorage 持久化。 */
|
|
507
|
+
isTempOrderPersistEnabled: () => boolean;
|
|
503
508
|
submitTempOrder: <T = any>(params?: {
|
|
504
509
|
cacheId?: string;
|
|
505
510
|
platform?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Decimal from 'decimal.js';
|
|
2
2
|
import { CartItem } from "../Cart";
|
|
3
|
-
import type { OrderSubmitPayload, OrderSubmitProduct, OrderSummary, OrderTempOrder } from './types';
|
|
3
|
+
import type { OrderProductDiscountItem, OrderSubmitPayload, OrderSubmitProduct, OrderSummary, OrderTempOrder } from './types';
|
|
4
4
|
import type { RulesParamsHooks } from '../Rules/types';
|
|
5
5
|
import type { MapOrderPaymentsOptions, OrderPaymentData, OrderPaymentSource } from './types';
|
|
6
6
|
/**
|
|
@@ -67,6 +67,11 @@ export declare function sumOptionUnitPrice(options?: Array<{
|
|
|
67
67
|
*/
|
|
68
68
|
/** Rules calcDiscount 用手动价标记;undefined 表示交给 Rules 用 total/origin_total 推断 */
|
|
69
69
|
export declare function resolveRulesManualDiscountFlag(metadata: Record<string, any> | null | undefined): boolean | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* 商品行折扣只保留后端 OrderProductDiscountItem 协议字段。
|
|
72
|
+
* Rules/券计算过程中的 `_num`、`config` 等运行态字段不应进入 tempOrder 或提交 payload。
|
|
73
|
+
*/
|
|
74
|
+
export declare function normalizeOrderProductDiscountList(discountList?: unknown[] | null): OrderProductDiscountItem[];
|
|
70
75
|
/**
|
|
71
76
|
* 手动改价(price_override)时行级 original_price(composite 单价):
|
|
72
77
|
* 购物车划线价应对齐 metadata.origin._extend.origin_total(改价前单价 composite,如 40),
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
var _excluded = ["unique_identification_number"],
|
|
2
2
|
_excluded2 = ["num", "product_option_item", "surcharge_fee", "discount_amount", "discount_type", "discountway", "product_discount_reason", "discount_per"],
|
|
3
|
-
_excluded3 = ["_extend", "relation_id", "table_form_id", "resource_id", "summary", "lastOrderInfo", "paid_amount", "shop_id", "shop_note", "shop_service_type", "start_time", "customer", "tax_fee", "total_amount", "total_refund_amount", "create_date", "holder_id"],
|
|
3
|
+
_excluded3 = ["_extend", "relation_id", "table_form_id", "resource_id", "summary", "lastOrderInfo", "paid_amount", "shop_id", "shop_note", "shop_service_type", "start_time", "customer", "discount_list", "tax_fee", "total_amount", "total_refund_amount", "create_date", "holder_id"],
|
|
4
4
|
_excluded4 = ["collect_pax", "table_occupancy_duration"];
|
|
5
5
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
6
6
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
7
|
-
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); }
|
|
8
7
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
9
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."); }
|
|
10
9
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
@@ -14,6 +13,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
14
13
|
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; }
|
|
15
14
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
16
15
|
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); }
|
|
16
|
+
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); }
|
|
17
17
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
18
18
|
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); }
|
|
19
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; }
|
|
@@ -126,6 +126,45 @@ export function resolveRulesManualDiscountFlag(metadata) {
|
|
|
126
126
|
}
|
|
127
127
|
return undefined;
|
|
128
128
|
}
|
|
129
|
+
function normalizeOrderProductDiscountAmount(amount) {
|
|
130
|
+
if (amount === undefined || amount === null) return undefined;
|
|
131
|
+
return String(amount);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* 商品行折扣只保留后端 OrderProductDiscountItem 协议字段。
|
|
136
|
+
* Rules/券计算过程中的 `_num`、`config` 等运行态字段不应进入 tempOrder 或提交 payload。
|
|
137
|
+
*/
|
|
138
|
+
export function normalizeOrderProductDiscountList(discountList) {
|
|
139
|
+
if (!Array.isArray(discountList)) return [];
|
|
140
|
+
return discountList.filter(function (item) {
|
|
141
|
+
return !!item && _typeof(item) === 'object';
|
|
142
|
+
}).map(function (item) {
|
|
143
|
+
var normalized = {
|
|
144
|
+
discount_id: Number.isFinite(Number(item.discount_id)) ? Number(item.discount_id) : 0
|
|
145
|
+
};
|
|
146
|
+
if (item.order_discount_id === null) {
|
|
147
|
+
normalized.order_discount_id = null;
|
|
148
|
+
} else if (item.order_discount_id !== undefined) {
|
|
149
|
+
var orderDiscountId = Number(item.order_discount_id);
|
|
150
|
+
if (Number.isFinite(orderDiscountId)) {
|
|
151
|
+
normalized.order_discount_id = orderDiscountId;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (item.type !== undefined) normalized.type = item.type;
|
|
155
|
+
var amount = normalizeOrderProductDiscountAmount(item.amount);
|
|
156
|
+
if (amount !== undefined) normalized.amount = amount;
|
|
157
|
+
if (item.discount && _typeof(item.discount) === 'object') {
|
|
158
|
+
normalized.discount = _objectSpread({}, item.discount);
|
|
159
|
+
}
|
|
160
|
+
if (item.metadata === null) {
|
|
161
|
+
normalized.metadata = null;
|
|
162
|
+
} else if (item.metadata && _typeof(item.metadata) === 'object') {
|
|
163
|
+
normalized.metadata = _objectSpread({}, item.metadata);
|
|
164
|
+
}
|
|
165
|
+
return normalized;
|
|
166
|
+
});
|
|
167
|
+
}
|
|
129
168
|
|
|
130
169
|
/**
|
|
131
170
|
* 手动改价(price_override)时行级 original_price(composite 单价):
|
|
@@ -480,7 +519,7 @@ function normalizeSubmitProduct(product) {
|
|
|
480
519
|
} : {}), {}, {
|
|
481
520
|
product_quantity: toBundleNumber(num !== null && num !== void 0 ? num : submitProduct.product_quantity, 1),
|
|
482
521
|
product_sku: productSku,
|
|
483
|
-
discount_list: submitProduct.discount_list
|
|
522
|
+
discount_list: normalizeOrderProductDiscountList(submitProduct.discount_list),
|
|
484
523
|
product_bundle: formatSubmitBundleItems(submitProduct.product_bundle),
|
|
485
524
|
metadata: cleanMetadata,
|
|
486
525
|
// 出站兼容:后端消费 payment_price 字段,这里从 selling_price 直接派生。
|
|
@@ -594,7 +633,6 @@ export function createDefaultTempOrder(params) {
|
|
|
594
633
|
bookings: [],
|
|
595
634
|
payments: [],
|
|
596
635
|
surcharges: [],
|
|
597
|
-
discount_list: [],
|
|
598
636
|
relation_forms: [],
|
|
599
637
|
contacts: [],
|
|
600
638
|
contacts_info: null,
|
|
@@ -631,6 +669,7 @@ export function buildSubmitPayload(params) {
|
|
|
631
669
|
_shopServiceType = _ref9.shop_service_type,
|
|
632
670
|
_startTime = _ref9.start_time,
|
|
633
671
|
_customer = _ref9.customer,
|
|
672
|
+
_discountList = _ref9.discount_list,
|
|
634
673
|
_rootTaxFee = _ref9.tax_fee,
|
|
635
674
|
_totalAmount = _ref9.total_amount,
|
|
636
675
|
_totalRefundAmount = _ref9.total_refund_amount,
|
|
@@ -677,7 +716,6 @@ export function buildSubmitPayload(params) {
|
|
|
677
716
|
return normalizeSubmitBooking(booking);
|
|
678
717
|
}),
|
|
679
718
|
payments: tempOrder.payments || [],
|
|
680
|
-
// discount_list: tempOrder.discount_list || [],
|
|
681
719
|
relation_forms: tempOrder.relation_forms || [],
|
|
682
720
|
// contacts: tempOrder.contacts || [],
|
|
683
721
|
contacts_info: tempOrder.contacts_info && !Array.isArray(tempOrder.contacts_info) ? tempOrder.contacts_info : null,
|
|
@@ -130,8 +130,10 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
130
130
|
try {
|
|
131
131
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
132
132
|
var quotation = _step.value;
|
|
133
|
-
|
|
134
|
-
if (!
|
|
133
|
+
var visible = this.isQuotationVisibleForCustomer(quotation, customer_id);
|
|
134
|
+
if (!visible) continue;
|
|
135
|
+
var active = this.isQuotationActiveAt(quotation, datetime);
|
|
136
|
+
if (!active) continue;
|
|
135
137
|
var match = this.findProductData(quotation.product_data, productId, variantId);
|
|
136
138
|
if (!match) continue;
|
|
137
139
|
if (match.value === 0) continue;
|
|
@@ -248,16 +250,25 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
248
250
|
var _quotation$schedule,
|
|
249
251
|
_this3 = this;
|
|
250
252
|
if (!((_quotation$schedule = quotation.schedule) !== null && _quotation$schedule !== void 0 && _quotation$schedule.length)) return false;
|
|
251
|
-
var scheduleItems =
|
|
253
|
+
var scheduleItems = [];
|
|
254
|
+
quotation.schedule.forEach(function (s) {
|
|
252
255
|
var _this3$scheduleResolv;
|
|
253
256
|
var full = (_this3$scheduleResolv = _this3.scheduleResolver) === null || _this3$scheduleResolv === void 0 ? void 0 : _this3$scheduleResolv.call(_this3, s.id);
|
|
254
|
-
if (full)
|
|
255
|
-
|
|
257
|
+
if (full) {
|
|
258
|
+
scheduleItems.push(full);
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
if (_this3.scheduleResolver) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
var fallbackSchedule = _objectSpread(_objectSpread({}, s), {}, {
|
|
256
265
|
repeat_type: s.repeat_type || 'none',
|
|
257
266
|
repeat_rule: s.repeat_rule || null,
|
|
258
267
|
time_slot: s.time_slot || []
|
|
259
268
|
});
|
|
269
|
+
scheduleItems.push(fallbackSchedule);
|
|
260
270
|
});
|
|
271
|
+
if (!scheduleItems.length) return false;
|
|
261
272
|
return getDateIsInSchedule(datetime, scheduleItems);
|
|
262
273
|
}
|
|
263
274
|
}, {
|
|
@@ -205,9 +205,13 @@ export var ScheduleModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
205
205
|
}, {
|
|
206
206
|
key: "getScheduleListByIds",
|
|
207
207
|
value: function getScheduleListByIds(ids) {
|
|
208
|
-
|
|
209
|
-
return
|
|
208
|
+
var idSet = new Set(ids.map(function (id) {
|
|
209
|
+
return String(id);
|
|
210
|
+
}));
|
|
211
|
+
var list = this.store.scheduleList.filter(function (n) {
|
|
212
|
+
return idSet.has(String(n.id));
|
|
210
213
|
});
|
|
214
|
+
return list;
|
|
211
215
|
}
|
|
212
216
|
}, {
|
|
213
217
|
key: "setAvailabilityScheduleDateList",
|
package/dist/server/index.js
CHANGED
|
@@ -1608,26 +1608,30 @@ var Server = /*#__PURE__*/function () {
|
|
|
1608
1608
|
case 6:
|
|
1609
1609
|
_context18.prev = 6;
|
|
1610
1610
|
_context18.next = 9;
|
|
1611
|
+
return this.schedule.loadAllSchedule();
|
|
1612
|
+
case 9:
|
|
1613
|
+
this.products.clearPriceCache();
|
|
1614
|
+
_context18.next = 12;
|
|
1611
1615
|
return this.products.setupQuotationPriceBridge({
|
|
1612
1616
|
scheduleModule: this.schedule,
|
|
1613
1617
|
channel: (_this$core$context = this.core.context) === null || _this$core$context === void 0 ? void 0 : _this$core$context.channel
|
|
1614
1618
|
});
|
|
1615
|
-
case
|
|
1619
|
+
case 12:
|
|
1616
1620
|
this.logInfo('Products 报价单价格桥接初始化完成');
|
|
1617
|
-
_context18.next =
|
|
1621
|
+
_context18.next = 19;
|
|
1618
1622
|
break;
|
|
1619
|
-
case
|
|
1620
|
-
_context18.prev =
|
|
1623
|
+
case 15:
|
|
1624
|
+
_context18.prev = 15;
|
|
1621
1625
|
_context18.t0 = _context18["catch"](6);
|
|
1622
1626
|
errorMessage = _context18.t0 instanceof Error ? _context18.t0.message : String(_context18.t0);
|
|
1623
1627
|
this.logError('Products 报价单价格桥接初始化失败', {
|
|
1624
1628
|
error: errorMessage
|
|
1625
1629
|
});
|
|
1626
|
-
case
|
|
1630
|
+
case 19:
|
|
1627
1631
|
case "end":
|
|
1628
1632
|
return _context18.stop();
|
|
1629
1633
|
}
|
|
1630
|
-
}, _callee18, this, [[6,
|
|
1634
|
+
}, _callee18, this, [[6, 15]]);
|
|
1631
1635
|
}));
|
|
1632
1636
|
function setupProductsQuotationPriceBridge() {
|
|
1633
1637
|
return _setupProductsQuotationPriceBridge.apply(this, arguments);
|
|
@@ -277,7 +277,7 @@ export var ProductsModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
277
277
|
value: (function () {
|
|
278
278
|
var _setupQuotationPriceBridge = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(params) {
|
|
279
279
|
var _this$otherParams;
|
|
280
|
-
var channel, quotation
|
|
280
|
+
var channel, quotation;
|
|
281
281
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
282
282
|
while (1) switch (_context3.prev = _context3.next) {
|
|
283
283
|
case 0:
|
|
@@ -301,14 +301,15 @@ export var ProductsModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
301
301
|
this.quotationPriceBridge = quotation;
|
|
302
302
|
case 10:
|
|
303
303
|
if (params.scheduleModule) {
|
|
304
|
-
scheduleList = ((_params$scheduleModul = (_params$scheduleModul2 = params.scheduleModule).getScheduleList) === null || _params$scheduleModul === void 0 ? void 0 : _params$scheduleModul.call(_params$scheduleModul2)) || [];
|
|
305
|
-
scheduleMap = new Map(scheduleList.map(function (schedule) {
|
|
306
|
-
return [schedule.id, schedule];
|
|
307
|
-
}));
|
|
308
304
|
this.quotationPriceBridge.setScheduleResolver(function (id) {
|
|
309
|
-
var _params$scheduleModul3, _params$scheduleModul4;
|
|
310
|
-
|
|
311
|
-
var
|
|
305
|
+
var _params$scheduleModul, _params$scheduleModul2, _params$scheduleModul3, _params$scheduleModul4, _params$scheduleModul5, _params$scheduleModul6;
|
|
306
|
+
var scheduleId = String(id);
|
|
307
|
+
var scheduleList = ((_params$scheduleModul = (_params$scheduleModul2 = params.scheduleModule).getScheduleList) === null || _params$scheduleModul === void 0 ? void 0 : _params$scheduleModul.call(_params$scheduleModul2)) || [];
|
|
308
|
+
var schedule = scheduleList.find(function (item) {
|
|
309
|
+
return String(item.id) === scheduleId;
|
|
310
|
+
});
|
|
311
|
+
if (schedule) return schedule;
|
|
312
|
+
var schedules = ((_params$scheduleModul3 = (_params$scheduleModul4 = params.scheduleModule).getScheduleListByIds) === null || _params$scheduleModul3 === void 0 ? void 0 : _params$scheduleModul3.call(_params$scheduleModul4, [id])) || ((_params$scheduleModul5 = (_params$scheduleModul6 = params.scheduleModule).getScheduleByIds) === null || _params$scheduleModul5 === void 0 ? void 0 : _params$scheduleModul5.call(_params$scheduleModul6, [id])) || [];
|
|
312
313
|
return schedules[0];
|
|
313
314
|
});
|
|
314
315
|
}
|