@pisell/pisellos 2.3.74 → 2.3.76
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/core/index.js +6 -10
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/example.js +3 -26
- package/dist/model/strategy/strategy-example.js +5 -19
- package/dist/modules/Cart/index.js +0 -3
- package/dist/modules/Cart/utils/cartProduct.js +0 -1
- package/dist/modules/Date/index.js +1 -5
- package/dist/modules/Discount/index.js +2 -4
- package/dist/modules/OpenData/index.js +0 -2
- package/dist/modules/Order/index.d.ts +1 -1
- package/dist/modules/Order/index.js +75 -91
- package/dist/modules/Order/types.d.ts +3 -1
- package/dist/modules/Payment/index.js +97 -162
- package/dist/modules/Rules/index.js +1 -4
- package/dist/modules/Schedule/index.js +0 -1
- package/dist/modules/Schedule/utils.js +0 -1
- package/dist/modules/Step/index.js +0 -1
- package/dist/plugins/request.js +1 -4
- package/dist/plugins/window.js +2 -6
- package/dist/server/index.js +97 -129
- package/dist/server/modules/menu/index.js +32 -41
- package/dist/server/modules/order/index.js +2 -4
- package/dist/server/modules/products/index.js +24 -42
- package/dist/server/modules/quotation/index.js +29 -38
- package/dist/server/modules/resource/index.js +3 -4
- package/dist/server/modules/schedule/index.js +27 -35
- package/dist/server/utils/product.js +0 -1
- package/dist/solution/BaseSales/index.js +100 -72
- package/dist/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
- package/dist/solution/BaseSales/utils/cartPromotion.js +15 -6
- package/dist/solution/BookingByStep/index.js +7 -59
- package/dist/solution/BookingByStep/utils/capacity.js +1 -11
- package/dist/solution/BookingByStep/utils/resources.js +1 -3
- package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
- package/dist/solution/BookingTicket/index.js +0 -2
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
- package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
- package/dist/solution/BuyTickets/index.js +9 -12
- package/dist/solution/Checkout/index.js +177 -252
- package/dist/solution/Checkout/utils/index.js +4 -16
- package/dist/solution/RegisterAndLogin/index.js +30 -76
- package/dist/solution/ScanOrder/index.js +50 -60
- package/dist/solution/ShopDiscount/index.js +2 -7
- package/dist/solution/VenueBooking/index.js +45 -55
- package/dist/utils/task.js +15 -18
- package/dist/utils/watch.js +0 -1
- package/lib/apis/picoding.js +2 -0
- package/lib/core/index.js +134 -134
- package/lib/effects/index.js +46 -57
- package/lib/index.js +82 -49
- package/lib/model/index.js +14 -21
- package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
- package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
- package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
- package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
- package/lib/model/strategy/adapter/index.js +100 -64
- package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
- package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
- package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
- package/lib/model/strategy/adapter/itemRule/index.js +83 -57
- package/lib/model/strategy/adapter/itemRule/type.js +97 -36
- package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
- package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
- package/lib/model/strategy/adapter/promotion/examples.js +222 -234
- package/lib/model/strategy/adapter/promotion/index.js +1 -0
- package/lib/model/strategy/adapter/promotion/type.js +243 -36
- package/lib/model/strategy/adapter/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
- package/lib/model/strategy/adapter/walletPass/example.js +217 -190
- package/lib/model/strategy/adapter/walletPass/index.js +75 -51
- package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
- package/lib/model/strategy/adapter/walletPass/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
- package/lib/model/strategy/engine.js +270 -168
- package/lib/model/strategy/index.js +49 -34
- package/lib/model/strategy/strategy-example.js +243 -239
- package/lib/model/strategy/type.js +100 -40
- package/lib/modules/Account/index.js +39 -53
- package/lib/modules/Account/types.js +20 -33
- package/lib/modules/AccountList/index.js +116 -154
- package/lib/modules/AccountList/types.js +30 -31
- package/lib/modules/AccountList/utils.js +18 -30
- package/lib/modules/BaseModule.js +23 -42
- package/lib/modules/BookingContext/index.js +158 -136
- package/lib/modules/BookingContext/types.js +46 -32
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
- package/lib/modules/BookingContext/utils/flexible.js +38 -55
- package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
- package/lib/modules/BookingContext/utils/index.js +124 -41
- package/lib/modules/BookingContext/utils/noResource.js +58 -70
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
- package/lib/modules/BookingContext/utils/productExtend.js +202 -155
- package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
- package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
- package/lib/modules/BookingContext/utils/resources.js +209 -167
- package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
- package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
- package/lib/modules/Cart/index.js +170 -124
- package/lib/modules/Cart/types.js +46 -51
- package/lib/modules/Cart/utils/cartAccount.js +40 -39
- package/lib/modules/Cart/utils/cartDate.js +56 -61
- package/lib/modules/Cart/utils/cartDiscount.js +28 -33
- package/lib/modules/Cart/utils/cartNote.js +27 -32
- package/lib/modules/Cart/utils/cartProduct.js +321 -251
- package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
- package/lib/modules/Cart/utils/cartResource.js +70 -78
- package/lib/modules/Cart/utils/changePrice.js +22 -50
- package/lib/modules/Cart/utils/index.js +106 -48
- package/lib/modules/Customer/constants.js +13 -34
- package/lib/modules/Customer/index.js +235 -172
- package/lib/modules/Customer/types.js +38 -35
- package/lib/modules/Date/index.js +116 -115
- package/lib/modules/Date/types.js +16 -28
- package/lib/modules/Date/utils.js +174 -123
- package/lib/modules/Discount/index.js +122 -127
- package/lib/modules/Discount/types.js +9 -31
- package/lib/modules/Guests/index.js +30 -56
- package/lib/modules/Guests/types.js +23 -33
- package/lib/modules/Holder/index.js +209 -189
- package/lib/modules/Holder/types.js +4 -16
- package/lib/modules/Holder/utils.js +20 -49
- package/lib/modules/OpenData/index.js +70 -76
- package/lib/modules/OpenData/types.js +4 -16
- package/lib/modules/OpenData/utils.js +44 -78
- package/lib/modules/Order/index.d.ts +1 -1
- package/lib/modules/Order/index.js +1733 -2121
- package/lib/modules/Order/payment-utils.js +77 -120
- package/lib/modules/Order/types.d.ts +3 -1
- package/lib/modules/Order/types.js +88 -35
- package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
- package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
- package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
- package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
- package/lib/modules/Order/utils.js +814 -647
- package/lib/modules/Payment/cash.js +20 -33
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
- package/lib/modules/Payment/eftpos.js +16 -30
- package/lib/modules/Payment/index.js +532 -399
- package/lib/modules/Payment/mx51.js +1 -0
- package/lib/modules/Payment/types.js +230 -108
- package/lib/modules/Payment/utils.js +52 -51
- package/lib/modules/Payment/walletpass.js +485 -660
- package/lib/modules/Product/index.js +51 -46
- package/lib/modules/Product/types.js +4 -16
- package/lib/modules/Product/utils.js +32 -33
- package/lib/modules/ProductList/index.js +113 -123
- package/lib/modules/ProductList/types.js +9 -31
- package/lib/modules/Quotation/index.js +81 -118
- package/lib/modules/Quotation/types.js +4 -16
- package/lib/modules/Resource/index.js +27 -59
- package/lib/modules/Resource/types.js +22 -32
- package/lib/modules/Resource/utils.js +30 -38
- package/lib/modules/ResourcePlanner/index.js +25 -23
- package/lib/modules/ResourcePlanner/localClock.js +54 -119
- package/lib/modules/ResourcePlanner/planner.js +589 -770
- package/lib/modules/ResourcePlanner/types.js +10 -29
- package/lib/modules/Rules/index.js +1218 -959
- package/lib/modules/Rules/types.js +17 -40
- package/lib/modules/SalesSummary/index.js +85 -90
- package/lib/modules/SalesSummary/types.js +4 -16
- package/lib/modules/SalesSummary/utils.js +355 -430
- package/lib/modules/ScanOrderLogger/index.js +59 -79
- package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
- package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
- package/lib/modules/ScanOrderLogger/types.js +4 -16
- package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
- package/lib/modules/Schedule/index.js +100 -114
- package/lib/modules/Schedule/type.js +4 -16
- package/lib/modules/Schedule/types.js +4 -16
- package/lib/modules/Schedule/utils.js +433 -291
- package/lib/modules/Step/index.js +40 -52
- package/lib/modules/Step/tyeps.js +4 -16
- package/lib/modules/Summary/index.js +66 -71
- package/lib/modules/Summary/types.js +4 -16
- package/lib/modules/Summary/utils.js +773 -418
- package/lib/modules/SurchargeList/index.js +46 -60
- package/lib/modules/SurchargeList/types.js +4 -16
- package/lib/modules/index.js +245 -63
- package/lib/plugins/app.js +4 -16
- package/lib/plugins/index.js +36 -25
- package/lib/plugins/request.js +137 -126
- package/lib/plugins/shopStore.js +4 -16
- package/lib/plugins/user.js +4 -16
- package/lib/plugins/window.js +171 -179
- package/lib/server/index.js +3050 -2665
- package/lib/server/modules/floor-plan/index.js +118 -134
- package/lib/server/modules/floor-plan/types.js +15 -30
- package/lib/server/modules/index.js +106 -68
- package/lib/server/modules/menu/index.js +142 -122
- package/lib/server/modules/menu/types.js +18 -31
- package/lib/server/modules/order/index.js +784 -1002
- package/lib/server/modules/order/types.js +122 -33
- package/lib/server/modules/order/utils/filterBookings.js +219 -194
- package/lib/server/modules/order/utils/filterOrders.js +118 -92
- package/lib/server/modules/payment/index.js +59 -83
- package/lib/server/modules/payment/types.js +4 -16
- package/lib/server/modules/products/index.js +583 -471
- package/lib/server/modules/products/types.js +44 -34
- package/lib/server/modules/quotation/index.js +137 -172
- package/lib/server/modules/quotation/types.js +21 -31
- package/lib/server/modules/resource/index.js +220 -186
- package/lib/server/modules/resource/types.js +42 -33
- package/lib/server/modules/schedule/index.js +135 -123
- package/lib/server/modules/schedule/types.js +14 -21
- package/lib/server/modules/schedule/utils.js +334 -163
- package/lib/server/types.js +4 -16
- package/lib/server/utils/index.js +25 -23
- package/lib/server/utils/product.js +196 -139
- package/lib/server/utils/schedule.js +34 -41
- package/lib/server/utils/small-ticket.js +479 -456
- package/lib/server/utils/time.js +40 -49
- package/lib/solution/BaseSales/index.js +1220 -1412
- package/lib/solution/BaseSales/types.js +42 -38
- package/lib/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
- package/lib/solution/BaseSales/utils/cartPromotion.js +652 -498
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
- package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +108 -145
- package/lib/solution/BaseSales/utils.js +158 -143
- package/lib/solution/BookingByStep/index.js +1527 -1340
- package/lib/solution/BookingByStep/types.js +40 -99
- package/lib/solution/BookingByStep/utils/capacity.js +192 -160
- package/lib/solution/BookingByStep/utils/products.js +42 -52
- package/lib/solution/BookingByStep/utils/resources.js +527 -330
- package/lib/solution/BookingByStep/utils/stock.js +65 -44
- package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
- package/lib/solution/BookingTicket/index.js +607 -522
- package/lib/solution/BookingTicket/types.js +99 -77
- package/lib/solution/BookingTicket/utils/addProductDecision.js +226 -189
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
- package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
- package/lib/solution/BookingTicket/utils/cartView.js +114 -99
- package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
- package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
- package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
- package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
- package/lib/solution/BuyTickets/index.js +67 -70
- package/lib/solution/BuyTickets/types.js +22 -38
- package/lib/solution/Checkout/index.js +1451 -1158
- package/lib/solution/Checkout/types.js +91 -61
- package/lib/solution/Checkout/utils/index.js +228 -156
- package/lib/solution/PlaceOrder/index.js +55 -0
- package/lib/solution/RegisterAndLogin/config.js +493 -460
- package/lib/solution/RegisterAndLogin/index.js +633 -630
- package/lib/solution/RegisterAndLogin/types.js +189 -76
- package/lib/solution/RegisterAndLogin/utils.js +183 -125
- package/lib/solution/Sales/index.js +328 -324
- package/lib/solution/Sales/types.js +27 -33
- package/lib/solution/ScanOrder/index.js +832 -864
- package/lib/solution/ScanOrder/types.js +33 -34
- package/lib/solution/ScanOrder/utils.js +409 -374
- package/lib/solution/ShopDiscount/index.js +226 -232
- package/lib/solution/ShopDiscount/types.js +15 -37
- package/lib/solution/ShopDiscount/utils.js +300 -172
- package/lib/solution/UnifiedBookingSales/index.js +1035 -1201
- package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
- package/lib/solution/UnifiedBookingSales/types.js +10 -32
- package/lib/solution/VenueBooking/index.js +811 -879
- package/lib/solution/VenueBooking/types.js +19 -39
- package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
- package/lib/solution/VenueBooking/utils/resource.js +31 -54
- package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
- package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
- package/lib/solution/VenueBooking/utils.js +130 -67
- package/lib/solution/index.js +124 -41
- package/lib/store/createStore.js +32 -29
- package/lib/types/index.js +4 -16
- package/lib/utils/payment-number.js +26 -46
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +81 -47
- package/package.json +2 -1
|
@@ -1,36 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
18
2
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__export(types_exports, {
|
|
22
|
-
ProductsHooks: () => ProductsHooks
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(types_exports);
|
|
25
|
-
var ProductsHooks = /* @__PURE__ */ ((ProductsHooks2) => {
|
|
26
|
-
ProductsHooks2["onProductsLoaded"] = "products:onProductsLoaded";
|
|
27
|
-
ProductsHooks2["onProductsChanged"] = "products:onProductsChanged";
|
|
28
|
-
ProductsHooks2["onProductSelected"] = "products:onProductSelected";
|
|
29
|
-
ProductsHooks2["onProductsPriceApplied"] = "products:onProductsPriceApplied";
|
|
30
|
-
ProductsHooks2["onProductsSyncCompleted"] = "products:onProductsSyncCompleted";
|
|
31
|
-
return ProductsHooks2;
|
|
32
|
-
})(ProductsHooks || {});
|
|
33
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
-
0 && (module.exports = {
|
|
35
|
-
ProductsHooks
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
36
5
|
});
|
|
6
|
+
exports.ProductsHooks = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Products 模块状态
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* 商品格式化后数据
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* 商品轻量查询范围
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* 加载报价单商品价格参数
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* 加载报价单商品价格返回数据
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* 加载报价单商品价格返回数据
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Products 模块状态
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* Products 模块钩子
|
|
30
|
+
*/
|
|
31
|
+
let ProductsHooks = exports.ProductsHooks = /*#__PURE__*/function (ProductsHooks) {
|
|
32
|
+
ProductsHooks["onProductsLoaded"] = "products:onProductsLoaded";
|
|
33
|
+
ProductsHooks["onProductsChanged"] = "products:onProductsChanged";
|
|
34
|
+
ProductsHooks["onProductSelected"] = "products:onProductSelected";
|
|
35
|
+
ProductsHooks["onProductsPriceApplied"] = "products:onProductsPriceApplied";
|
|
36
|
+
ProductsHooks["onProductsSyncCompleted"] = "products:onProductsSyncCompleted";
|
|
37
|
+
return ProductsHooks;
|
|
38
|
+
}({});
|
|
39
|
+
/** pubsub 商品同步消息结构 */
|
|
40
|
+
/**
|
|
41
|
+
* 商品格式化器上下文
|
|
42
|
+
*/
|
|
43
|
+
/**
|
|
44
|
+
* 商品格式化器类型
|
|
45
|
+
* 用于对商品数据进行处理和格式化(包括价格应用、字段扩展等)
|
|
46
|
+
*/
|
|
@@ -1,109 +1,97 @@
|
|
|
1
|
-
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
28
2
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
__export(quotation_exports, {
|
|
32
|
-
QuotationModule: () => QuotationModule
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
33
5
|
});
|
|
34
|
-
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
6
|
+
exports.QuotationModule = void 0;
|
|
7
|
+
var _lodashEs = require("lodash-es");
|
|
8
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
9
|
+
var _isSameOrBefore = _interopRequireDefault(require("dayjs/plugin/isSameOrBefore"));
|
|
10
|
+
var _isSameOrAfter = _interopRequireDefault(require("dayjs/plugin/isSameOrAfter"));
|
|
11
|
+
var _BaseModule = require("../../../modules/BaseModule");
|
|
12
|
+
var _types = require("./types");
|
|
13
|
+
var _getDateIsInSchedule = require("../../../modules/Schedule/getDateIsInSchedule");
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
_dayjs.default.extend(_isSameOrBefore.default);
|
|
16
|
+
_dayjs.default.extend(_isSameOrAfter.default);
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* IndexDB 存储名称
|
|
20
|
+
*/
|
|
21
|
+
const INDEXDB_STORE_NAME = 'quotation';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 报价单模块 - 用于管理报价单数据和计算商品价格
|
|
25
|
+
*/
|
|
26
|
+
class QuotationModule extends _BaseModule.BaseModule {
|
|
27
|
+
defaultName = 'quotation';
|
|
28
|
+
defaultVersion = '1.0.0';
|
|
29
|
+
request;
|
|
30
|
+
store;
|
|
31
|
+
dbManager; // IndexDBManager 实例
|
|
32
|
+
scheduleResolver;
|
|
46
33
|
constructor(name, version) {
|
|
47
34
|
super(name, version);
|
|
48
|
-
this.defaultName = "quotation";
|
|
49
|
-
this.defaultVersion = "1.0.0";
|
|
50
35
|
}
|
|
51
36
|
async initialize(core, options) {
|
|
52
|
-
var _a;
|
|
53
37
|
this.core = core;
|
|
54
|
-
this.store = options
|
|
55
|
-
if (Array.isArray(
|
|
56
|
-
this.store.quotationList = options
|
|
57
|
-
this.core.effects.emit(
|
|
38
|
+
this.store = options?.store;
|
|
39
|
+
if (Array.isArray(options?.initialState?.quotationList)) {
|
|
40
|
+
this.store.quotationList = options?.initialState.quotationList;
|
|
41
|
+
this.core.effects.emit(_types.QuotationHooks.onQuotationChanged, this.store.quotationList);
|
|
58
42
|
} else {
|
|
59
43
|
this.store.quotationList = [];
|
|
60
44
|
}
|
|
61
|
-
|
|
45
|
+
|
|
46
|
+
// 获取依赖的插件
|
|
47
|
+
this.request = core.getPlugin('request');
|
|
62
48
|
if (!this.request) {
|
|
63
|
-
throw new Error(
|
|
49
|
+
throw new Error('QuotationModule 需要 request 插件支持');
|
|
64
50
|
}
|
|
65
|
-
|
|
51
|
+
|
|
52
|
+
// 获取并存储 dbManager
|
|
53
|
+
const appPlugin = core.getPlugin('app');
|
|
66
54
|
if (appPlugin) {
|
|
67
55
|
const app = appPlugin.getApp();
|
|
68
56
|
this.dbManager = app.dbManager;
|
|
69
|
-
if (this.dbManager) {
|
|
70
|
-
console.
|
|
71
|
-
} else {
|
|
72
|
-
console.warn("[Quotation] IndexDB Manager 未找到");
|
|
57
|
+
if (this.dbManager) {} else {
|
|
58
|
+
console.warn('[Quotation] IndexDB Manager 未找到');
|
|
73
59
|
}
|
|
74
60
|
}
|
|
75
61
|
}
|
|
62
|
+
|
|
76
63
|
/**
|
|
77
64
|
* 加载报价单列表(从服务器)
|
|
78
65
|
* TODO: 接口地址待定
|
|
79
66
|
*/
|
|
80
67
|
async loadQuotationList() {
|
|
81
|
-
var _a;
|
|
82
68
|
try {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
69
|
+
// TODO: 替换为实际的接口地址
|
|
70
|
+
const response = await this.request.get(`/quotation`, {
|
|
71
|
+
num: 999,
|
|
72
|
+
skip: 1,
|
|
73
|
+
status: 'published'
|
|
74
|
+
});
|
|
75
|
+
const quotationList = response.data?.list || [];
|
|
76
|
+
|
|
77
|
+
// 保存到 IndexDB
|
|
92
78
|
await this.saveQuotationToIndexDB(quotationList);
|
|
93
79
|
await this.setQuotationList(quotationList);
|
|
94
80
|
return quotationList;
|
|
95
81
|
} catch (error) {
|
|
96
|
-
console.error(
|
|
82
|
+
console.error('[Quotation] 加载报价单数据失败:', error);
|
|
97
83
|
return [];
|
|
98
84
|
}
|
|
99
85
|
}
|
|
86
|
+
|
|
100
87
|
/**
|
|
101
88
|
* 设置报价单列表
|
|
102
89
|
*/
|
|
103
90
|
async setQuotationList(quotationList) {
|
|
104
91
|
this.store.quotationList = quotationList;
|
|
105
|
-
await this.core.effects.emit(
|
|
92
|
+
await this.core.effects.emit(_types.QuotationHooks.onQuotationLoaded, quotationList);
|
|
106
93
|
}
|
|
94
|
+
|
|
107
95
|
/**
|
|
108
96
|
* 获取报价单列表
|
|
109
97
|
*/
|
|
@@ -111,52 +99,45 @@ var QuotationModule = class extends import_BaseModule.BaseModule {
|
|
|
111
99
|
return this.store.quotationList;
|
|
112
100
|
}
|
|
113
101
|
async loadQuotations(params) {
|
|
114
|
-
var _a;
|
|
115
102
|
if (Array.isArray(this.store.quotationList) && this.store.quotationList.length > 0) {
|
|
116
|
-
this.store.quotationList.sort(
|
|
117
|
-
(a, b) => Number(a.sort ?? a.priority ?? 0) - Number(b.sort ?? b.priority ?? 0)
|
|
118
|
-
);
|
|
103
|
+
this.store.quotationList.sort((a, b) => Number(a.sort ?? a.priority ?? 0) - Number(b.sort ?? b.priority ?? 0));
|
|
119
104
|
return;
|
|
120
105
|
}
|
|
121
106
|
const query = {};
|
|
122
|
-
if (params
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
{ useCache: false, osServer: true }
|
|
130
|
-
);
|
|
131
|
-
const list = ((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.list) || (res == null ? void 0 : res.list) || [];
|
|
107
|
+
if (params?.channel) query.channel = params.channel;
|
|
108
|
+
if (params?.channel === 'online_store') query.channel = 'online-store';
|
|
109
|
+
const res = await this.request.get('/quotation/available', query, {
|
|
110
|
+
useCache: false,
|
|
111
|
+
osServer: true
|
|
112
|
+
});
|
|
113
|
+
const list = res?.data?.list || res?.list || [];
|
|
132
114
|
list.sort((a, b) => Number(a.sort ?? a.priority ?? 0) - Number(b.sort ?? b.priority ?? 0));
|
|
133
115
|
this.store.quotationList = list;
|
|
134
|
-
await this.core.effects.emit(
|
|
116
|
+
await this.core.effects.emit(_types.QuotationHooks.onQuotationLoaded, this.store.quotationList);
|
|
135
117
|
}
|
|
136
118
|
setScheduleResolver(resolver) {
|
|
137
119
|
this.scheduleResolver = resolver;
|
|
138
120
|
}
|
|
139
121
|
getPriceForProduct(params) {
|
|
140
|
-
|
|
141
|
-
return ((_a = this.getQuotationMatchForProduct(params)) == null ? void 0 : _a.price) ?? null;
|
|
122
|
+
return this.getQuotationMatchForProduct(params)?.price ?? null;
|
|
142
123
|
}
|
|
143
124
|
getQuotationMatchForProduct(params) {
|
|
144
|
-
const {
|
|
125
|
+
const {
|
|
126
|
+
productId,
|
|
127
|
+
variantId,
|
|
128
|
+
datetime,
|
|
129
|
+
channel,
|
|
130
|
+
customer_id
|
|
131
|
+
} = params;
|
|
145
132
|
for (const quotation of this.store.quotationList) {
|
|
146
|
-
if (!this.isQuotationVisibleForChannel(quotation, channel))
|
|
147
|
-
|
|
148
|
-
if (!this.
|
|
149
|
-
continue;
|
|
150
|
-
if (!this.isQuotationActiveAt(quotation, datetime))
|
|
151
|
-
continue;
|
|
133
|
+
if (!this.isQuotationVisibleForChannel(quotation, channel)) continue;
|
|
134
|
+
if (!this.isQuotationVisibleForCustomer(quotation, customer_id)) continue;
|
|
135
|
+
if (!this.isQuotationActiveAt(quotation, datetime)) continue;
|
|
152
136
|
const match = this.findProductData(quotation, productId, variantId);
|
|
153
|
-
if (!match)
|
|
154
|
-
continue;
|
|
137
|
+
if (!match) continue;
|
|
155
138
|
const value = match.value ?? match.final_price ?? match.discount_value;
|
|
156
|
-
if (Number(value) === 0)
|
|
157
|
-
|
|
158
|
-
if (value === void 0 || value === null || value === "")
|
|
159
|
-
continue;
|
|
139
|
+
if (Number(value) === 0) continue;
|
|
140
|
+
if (value === undefined || value === null || value === '') continue;
|
|
160
141
|
return {
|
|
161
142
|
price: String(value),
|
|
162
143
|
quotationShelfId: Number(quotation.id) || 0
|
|
@@ -165,28 +146,25 @@ var QuotationModule = class extends import_BaseModule.BaseModule {
|
|
|
165
146
|
return null;
|
|
166
147
|
}
|
|
167
148
|
getQuotationShelfId(params) {
|
|
168
|
-
|
|
169
|
-
return ((_a = this.getQuotationMatchForProduct(params)) == null ? void 0 : _a.quotationShelfId) ?? 0;
|
|
149
|
+
return this.getQuotationMatchForProduct(params)?.quotationShelfId ?? 0;
|
|
170
150
|
}
|
|
171
151
|
getQuotationCustomerScopeInfo() {
|
|
172
|
-
const customerById =
|
|
173
|
-
const quotationScopes = this.store.quotationList.filter(
|
|
152
|
+
const customerById = new Map();
|
|
153
|
+
const quotationScopes = this.store.quotationList.filter(quotation => Array.isArray(quotation?.customer) && quotation.customer.length > 0).map(quotation => {
|
|
174
154
|
const customerIds = [];
|
|
175
155
|
const customers = [];
|
|
176
|
-
const localSeen =
|
|
177
|
-
(quotation.customer || []).forEach(
|
|
178
|
-
const customerId = this.normalizeCustomerId(customer
|
|
179
|
-
if (!customerId || localSeen.has(customerId))
|
|
180
|
-
return;
|
|
156
|
+
const localSeen = new Set();
|
|
157
|
+
(quotation.customer || []).forEach(customer => {
|
|
158
|
+
const customerId = this.normalizeCustomerId(customer?.id);
|
|
159
|
+
if (!customerId || localSeen.has(customerId)) return;
|
|
181
160
|
localSeen.add(customerId);
|
|
182
161
|
customerIds.push(customerId);
|
|
183
162
|
customers.push(customer);
|
|
184
|
-
if (!customerById.has(customerId))
|
|
185
|
-
customerById.set(customerId, customer);
|
|
163
|
+
if (!customerById.has(customerId)) customerById.set(customerId, customer);
|
|
186
164
|
});
|
|
187
165
|
return {
|
|
188
166
|
quotationId: Number(quotation.id),
|
|
189
|
-
quotationName: String(quotation.name ||
|
|
167
|
+
quotationName: String(quotation.name || ''),
|
|
190
168
|
customerIds,
|
|
191
169
|
customers
|
|
192
170
|
};
|
|
@@ -206,88 +184,72 @@ var QuotationModule = class extends import_BaseModule.BaseModule {
|
|
|
206
184
|
*/
|
|
207
185
|
async clear() {
|
|
208
186
|
this.store.quotationList = [];
|
|
187
|
+
|
|
188
|
+
// 同时清空 IndexDB 中的数据
|
|
209
189
|
if (this.dbManager) {
|
|
210
190
|
try {
|
|
211
191
|
await this.dbManager.clear(INDEXDB_STORE_NAME);
|
|
212
|
-
console.log("[Quotation] IndexDB 缓存已清空");
|
|
213
192
|
} catch (error) {
|
|
214
|
-
console.error(
|
|
193
|
+
console.error('[Quotation] 清空 IndexDB 缓存失败:', error);
|
|
215
194
|
}
|
|
216
195
|
}
|
|
217
|
-
console.log("[Quotation] 缓存已清空");
|
|
218
196
|
}
|
|
219
197
|
normalizeCustomerId(customerId) {
|
|
220
|
-
if (customerId ===
|
|
221
|
-
return null;
|
|
198
|
+
if (customerId === undefined || customerId === null || customerId === '') return null;
|
|
222
199
|
return String(customerId);
|
|
223
200
|
}
|
|
224
201
|
hasValidCustomerId(customerId) {
|
|
225
|
-
if (customerId ===
|
|
226
|
-
return false;
|
|
202
|
+
if (customerId === undefined || customerId === null || customerId === '') return false;
|
|
227
203
|
return Number(customerId) > 0;
|
|
228
204
|
}
|
|
229
205
|
isQuotationVisibleForCustomer(quotation, customerId) {
|
|
230
206
|
const customers = quotation.customer || [];
|
|
231
|
-
if (!Array.isArray(customers) || customers.length === 0)
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
return false;
|
|
235
|
-
return customers.some((customer) => String(customer.id) === String(customerId));
|
|
207
|
+
if (!Array.isArray(customers) || customers.length === 0) return true;
|
|
208
|
+
if (!this.hasValidCustomerId(customerId)) return false;
|
|
209
|
+
return customers.some(customer => String(customer.id) === String(customerId));
|
|
236
210
|
}
|
|
237
211
|
isQuotationVisibleForChannel(quotation, channel) {
|
|
238
|
-
if (!channel)
|
|
239
|
-
|
|
240
|
-
const normalizedChannel = channel === "online_store" ? "online-store" : channel;
|
|
212
|
+
if (!channel) return true;
|
|
213
|
+
const normalizedChannel = channel === 'online_store' ? 'online-store' : channel;
|
|
241
214
|
const channels = quotation.channel;
|
|
242
|
-
if (!Array.isArray(channels) || channels.length === 0)
|
|
243
|
-
|
|
244
|
-
return channels.some((item) => String(item) === normalizedChannel);
|
|
215
|
+
if (!Array.isArray(channels) || channels.length === 0) return true;
|
|
216
|
+
return channels.some(item => String(item) === normalizedChannel);
|
|
245
217
|
}
|
|
246
218
|
isQuotationActiveAt(quotation, datetime) {
|
|
247
219
|
const quotationSchedules = Array.isArray(quotation.schedule) ? quotation.schedule : [];
|
|
248
220
|
const scheduleIds = Array.isArray(quotation.schedule_ids) ? quotation.schedule_ids : [];
|
|
249
|
-
if (!quotationSchedules.length && !scheduleIds.length)
|
|
250
|
-
return false;
|
|
221
|
+
if (!quotationSchedules.length && !scheduleIds.length) return false;
|
|
251
222
|
const scheduleItems = [];
|
|
252
|
-
quotationSchedules.forEach(
|
|
253
|
-
|
|
254
|
-
const full = (_a = this.scheduleResolver) == null ? void 0 : _a.call(this, schedule.id);
|
|
223
|
+
quotationSchedules.forEach(schedule => {
|
|
224
|
+
const full = this.scheduleResolver?.(schedule.id);
|
|
255
225
|
if (full) {
|
|
256
226
|
scheduleItems.push(full);
|
|
257
227
|
return;
|
|
258
228
|
}
|
|
259
|
-
if (this.scheduleResolver)
|
|
260
|
-
return;
|
|
229
|
+
if (this.scheduleResolver) return;
|
|
261
230
|
scheduleItems.push({
|
|
262
231
|
...schedule,
|
|
263
|
-
repeat_type: schedule.repeat_type ||
|
|
232
|
+
repeat_type: schedule.repeat_type || 'none',
|
|
264
233
|
repeat_rule: schedule.repeat_rule || null,
|
|
265
234
|
time_slot: schedule.time_slot || []
|
|
266
235
|
});
|
|
267
236
|
});
|
|
268
|
-
scheduleIds.forEach(
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
if (full)
|
|
272
|
-
scheduleItems.push(full);
|
|
237
|
+
scheduleIds.forEach(id => {
|
|
238
|
+
const full = this.scheduleResolver?.(id);
|
|
239
|
+
if (full) scheduleItems.push(full);
|
|
273
240
|
});
|
|
274
|
-
if (!scheduleItems.length)
|
|
275
|
-
|
|
276
|
-
return (0, import_getDateIsInSchedule.getDateIsInSchedule)(datetime, scheduleItems);
|
|
241
|
+
if (!scheduleItems.length) return false;
|
|
242
|
+
return (0, _getDateIsInSchedule.getDateIsInSchedule)(datetime, scheduleItems);
|
|
277
243
|
}
|
|
278
244
|
findProductData(quotation, productId, variantId) {
|
|
279
245
|
const productData = Array.isArray(quotation.product_data) ? quotation.product_data : Array.isArray(quotation.product_prices) ? quotation.product_prices : [];
|
|
280
246
|
if (variantId && variantId !== 0) {
|
|
281
|
-
const variantMatch = productData.find(
|
|
282
|
-
|
|
283
|
-
);
|
|
284
|
-
if (variantMatch)
|
|
285
|
-
return variantMatch;
|
|
247
|
+
const variantMatch = productData.find(item => Number(item.product_id) === productId && Number(item.variant_id || 0) === variantId);
|
|
248
|
+
if (variantMatch) return variantMatch;
|
|
286
249
|
}
|
|
287
|
-
return productData.find(
|
|
288
|
-
(item) => Number(item.product_id) === productId && Number(item.variant_id || 0) === 0
|
|
289
|
-
);
|
|
250
|
+
return productData.find(item => Number(item.product_id) === productId && Number(item.variant_id || 0) === 0);
|
|
290
251
|
}
|
|
252
|
+
|
|
291
253
|
/**
|
|
292
254
|
* 从 IndexDB 加载报价单数据
|
|
293
255
|
* @private
|
|
@@ -297,13 +259,15 @@ var QuotationModule = class extends import_BaseModule.BaseModule {
|
|
|
297
259
|
return [];
|
|
298
260
|
}
|
|
299
261
|
try {
|
|
262
|
+
// 直接获取所有报价单记录
|
|
300
263
|
const quotationList = await this.dbManager.getAll(INDEXDB_STORE_NAME);
|
|
301
264
|
return quotationList || [];
|
|
302
265
|
} catch (error) {
|
|
303
|
-
console.error(
|
|
266
|
+
console.error('[Quotation] 从 IndexDB 读取数据失败:', error);
|
|
304
267
|
return [];
|
|
305
268
|
}
|
|
306
269
|
}
|
|
270
|
+
|
|
307
271
|
/**
|
|
308
272
|
* 保存报价单数据到 IndexDB
|
|
309
273
|
* @private
|
|
@@ -313,43 +277,44 @@ var QuotationModule = class extends import_BaseModule.BaseModule {
|
|
|
313
277
|
return;
|
|
314
278
|
}
|
|
315
279
|
try {
|
|
280
|
+
// 先清空现有的报价单数据
|
|
316
281
|
await this.dbManager.clear(INDEXDB_STORE_NAME);
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
);
|
|
282
|
+
|
|
283
|
+
// 逐个保存报价单(每个报价单是独立的记录)
|
|
284
|
+
const savePromises = quotationList.map(quotation => this.dbManager.add(INDEXDB_STORE_NAME, quotation));
|
|
320
285
|
await Promise.all(savePromises);
|
|
321
|
-
console.log(`[Quotation] 已将 ${quotationList.length} 条报价单数据保存到 IndexDB`);
|
|
322
286
|
} catch (error) {
|
|
323
|
-
console.error(
|
|
287
|
+
console.error('[Quotation] 保存数据到 IndexDB 失败:', error);
|
|
324
288
|
}
|
|
325
289
|
}
|
|
290
|
+
|
|
326
291
|
/**
|
|
327
292
|
* 预加载模块数据(统一接口)
|
|
328
293
|
* 在模块注册后自动调用
|
|
329
294
|
*/
|
|
330
295
|
async preload() {
|
|
331
|
-
console.log("[Quotation] 开始预加载数据...");
|
|
332
296
|
try {
|
|
297
|
+
// 1. 尝试从 IndexDB 加载数据
|
|
333
298
|
const cachedData = await this.loadQuotationFromIndexDB();
|
|
334
299
|
if (cachedData && cachedData.length > 0) {
|
|
335
|
-
|
|
336
|
-
this.store.quotationList = (0,
|
|
337
|
-
this.core.effects.emit(
|
|
300
|
+
// 将缓存数据放入 store
|
|
301
|
+
this.store.quotationList = (0, _lodashEs.cloneDeep)(cachedData);
|
|
302
|
+
this.core.effects.emit(_types.QuotationHooks.onQuotationChanged, this.store.quotationList);
|
|
338
303
|
return;
|
|
339
304
|
}
|
|
340
|
-
console.log("[Quotation] IndexDB 中没有缓存数据,从服务器加载...");
|
|
341
305
|
} catch (error) {
|
|
342
|
-
console.warn(
|
|
306
|
+
console.warn('[Quotation] 从 IndexDB 加载数据失败:', error);
|
|
343
307
|
}
|
|
308
|
+
|
|
309
|
+
// 2. 如果 IndexDB 中没有数据,从服务器加载
|
|
344
310
|
const quotationList = await this.loadQuotationList();
|
|
311
|
+
|
|
312
|
+
// 3. 将服务器数据保存到 IndexDB 和 store
|
|
345
313
|
if (quotationList && quotationList.length > 0) {
|
|
346
314
|
await this.saveQuotationToIndexDB(quotationList);
|
|
347
|
-
this.store.quotationList = (0,
|
|
348
|
-
this.core.effects.emit(
|
|
315
|
+
this.store.quotationList = (0, _lodashEs.cloneDeep)(quotationList);
|
|
316
|
+
this.core.effects.emit(_types.QuotationHooks.onQuotationChanged, this.store.quotationList);
|
|
349
317
|
}
|
|
350
318
|
}
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
0 && (module.exports = {
|
|
354
|
-
QuotationModule
|
|
355
|
-
});
|
|
319
|
+
}
|
|
320
|
+
exports.QuotationModule = QuotationModule;
|
|
@@ -1,33 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
18
2
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__export(types_exports, {
|
|
22
|
-
QuotationHooks: () => QuotationHooks
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(types_exports);
|
|
25
|
-
var QuotationHooks = /* @__PURE__ */ ((QuotationHooks2) => {
|
|
26
|
-
QuotationHooks2["onQuotationLoaded"] = "quotation:onQuotationLoaded";
|
|
27
|
-
QuotationHooks2["onQuotationChanged"] = "quotation:onQuotationChanged";
|
|
28
|
-
return QuotationHooks2;
|
|
29
|
-
})(QuotationHooks || {});
|
|
30
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
31
|
-
0 && (module.exports = {
|
|
32
|
-
QuotationHooks
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
33
5
|
});
|
|
6
|
+
exports.QuotationHooks = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* 报价单模块状态
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* 报价单数据结构
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* 报价单商品价格配置
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* 报价单模块钩子
|
|
18
|
+
*/
|
|
19
|
+
let QuotationHooks = exports.QuotationHooks = /*#__PURE__*/function (QuotationHooks) {
|
|
20
|
+
QuotationHooks["onQuotationLoaded"] = "quotation:onQuotationLoaded";
|
|
21
|
+
QuotationHooks["onQuotationChanged"] = "quotation:onQuotationChanged";
|
|
22
|
+
return QuotationHooks;
|
|
23
|
+
}({});
|