@pisell/pisellos 0.0.569 → 0.10.2
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 +10 -6
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -3
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
- package/dist/model/strategy/adapter/walletPass/example.js +26 -3
- package/dist/model/strategy/adapter/walletPass/index.js +5 -5
- package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
- package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
- package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
- package/dist/model/strategy/strategy-example.js +19 -5
- package/dist/modules/BaseModule.d.ts +1 -1
- package/dist/modules/BaseModule.js +8 -10
- package/dist/modules/Cart/index.js +3 -0
- package/dist/modules/Cart/utils/cartProduct.js +1 -0
- package/dist/modules/Cart/utils/cartResource.js +0 -2
- package/dist/modules/Cart/utils/changePrice.js +9 -16
- package/dist/modules/Date/index.js +5 -1
- package/dist/modules/Discount/index.d.ts +0 -1
- package/dist/modules/Discount/index.js +7 -22
- package/dist/modules/Discount/types.d.ts +0 -1
- package/dist/modules/OpenData/index.js +2 -0
- package/dist/modules/Order/index.js +70 -40
- package/dist/modules/Payment/index.js +162 -97
- package/dist/modules/Payment/types.d.ts +4 -8
- package/dist/modules/Payment/walletpass.d.ts +0 -2
- package/dist/modules/Payment/walletpass.js +5 -4
- package/dist/modules/ProductList/index.d.ts +1 -1
- package/dist/modules/ProductList/index.js +3 -12
- package/dist/modules/ProductList/types.d.ts +0 -1
- package/dist/modules/Rules/index.js +126 -427
- package/dist/modules/SalesSummary/utils.js +1 -2
- package/dist/modules/Schedule/getDateIsInSchedule.js +0 -5
- package/dist/modules/Schedule/index.js +1 -0
- package/dist/modules/Schedule/utils.js +1 -0
- package/dist/modules/Step/index.js +1 -0
- package/dist/modules/Summary/utils.js +22 -43
- package/dist/plugins/request.js +4 -1
- package/dist/plugins/window.js +6 -2
- package/dist/server/index.js +129 -97
- package/dist/server/modules/menu/index.js +41 -32
- package/dist/server/modules/order/index.js +4 -2
- package/dist/server/modules/products/index.js +42 -24
- package/dist/server/modules/quotation/index.js +38 -29
- package/dist/server/modules/resource/index.js +4 -3
- package/dist/server/modules/schedule/index.js +35 -27
- package/dist/server/utils/product.js +1 -0
- package/dist/solution/BaseSales/index.js +41 -38
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingByStep/index.js +60 -11
- package/dist/solution/BookingByStep/utils/capacity.js +11 -1
- package/dist/solution/BookingByStep/utils/resources.js +3 -1
- package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
- package/dist/solution/BookingTicket/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.js +2 -0
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +7 -6
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +31 -25
- package/dist/solution/BookingTicket/utils/scan/index.js +10 -6
- package/dist/solution/BuyTickets/index.js +12 -9
- package/dist/solution/Checkout/index.js +252 -177
- package/dist/solution/Checkout/utils/index.js +16 -4
- package/dist/solution/RegisterAndLogin/index.js +76 -30
- package/dist/solution/ScanOrder/index.js +60 -50
- package/dist/solution/ShopDiscount/index.js +14 -15
- package/dist/solution/ShopDiscount/types.d.ts +4 -5
- package/dist/solution/ShopDiscount/utils.d.ts +0 -9
- package/dist/solution/ShopDiscount/utils.js +0 -9
- package/dist/solution/VenueBooking/index.d.ts +3 -31
- package/dist/solution/VenueBooking/index.js +496 -651
- package/dist/solution/VenueBooking/types.d.ts +1 -3
- package/dist/solution/VenueBooking/types.js +0 -1
- package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
- package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
- package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
- package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
- package/dist/types/index.d.ts +1 -1
- package/dist/utils/task.js +18 -15
- package/dist/utils/watch.js +1 -0
- package/lib/apis/picoding.js +0 -2
- package/lib/core/index.js +132 -130
- package/lib/effects/index.js +57 -46
- package/lib/index.d.ts +0 -1
- package/lib/index.js +50 -92
- package/lib/model/index.js +21 -14
- package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
- package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
- package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
- package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
- package/lib/model/strategy/adapter/index.js +64 -100
- package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
- package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
- package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
- package/lib/model/strategy/adapter/itemRule/index.js +57 -83
- package/lib/model/strategy/adapter/itemRule/type.js +36 -97
- package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
- package/lib/model/strategy/adapter/promotion/evaluator.js +231 -381
- package/lib/model/strategy/adapter/promotion/examples.js +159 -139
- package/lib/model/strategy/adapter/promotion/index.js +49 -1
- package/lib/model/strategy/adapter/promotion/type.js +35 -199
- package/lib/model/strategy/adapter/type.js +16 -4
- package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
- package/lib/model/strategy/adapter/walletPass/example.js +190 -217
- package/lib/model/strategy/adapter/walletPass/index.js +51 -75
- package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
- package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
- package/lib/model/strategy/adapter/walletPass/type.js +16 -4
- package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
- package/lib/model/strategy/adapter/walletPass/utils.js +383 -678
- package/lib/model/strategy/engine.js +168 -270
- package/lib/model/strategy/index.js +34 -49
- package/lib/model/strategy/strategy-example.js +239 -243
- package/lib/model/strategy/type.js +40 -100
- package/lib/modules/Account/index.js +53 -39
- package/lib/modules/Account/types.js +33 -20
- package/lib/modules/AccountList/index.js +154 -116
- package/lib/modules/AccountList/types.js +31 -30
- package/lib/modules/AccountList/utils.js +30 -18
- package/lib/modules/BaseModule.d.ts +1 -1
- package/lib/modules/BaseModule.js +46 -25
- package/lib/modules/BookingContext/index.js +136 -158
- package/lib/modules/BookingContext/types.js +32 -46
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +143 -131
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +82 -75
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +150 -170
- package/lib/modules/BookingContext/utils/flexible.js +55 -38
- package/lib/modules/BookingContext/utils/formatResourceList.js +34 -19
- package/lib/modules/BookingContext/utils/index.js +41 -124
- package/lib/modules/BookingContext/utils/noResource.js +70 -58
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +41 -14
- package/lib/modules/BookingContext/utils/productExtend.js +155 -202
- package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
- package/lib/modules/BookingContext/utils/resourceSelection.js +41 -19
- package/lib/modules/BookingContext/utils/resources.js +167 -209
- package/lib/modules/BookingContext/utils/serviceTimes.js +116 -115
- package/lib/modules/BookingContext/utils/timeSlices.js +80 -70
- package/lib/modules/Cart/index.js +124 -170
- package/lib/modules/Cart/types.js +51 -46
- package/lib/modules/Cart/utils/cartAccount.js +39 -40
- package/lib/modules/Cart/utils/cartDate.js +61 -56
- package/lib/modules/Cart/utils/cartDiscount.js +33 -28
- package/lib/modules/Cart/utils/cartNote.js +32 -27
- package/lib/modules/Cart/utils/cartProduct.js +251 -321
- package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
- package/lib/modules/Cart/utils/cartResource.js +78 -72
- package/lib/modules/Cart/utils/changePrice.js +50 -28
- package/lib/modules/Cart/utils/index.js +48 -106
- package/lib/modules/Customer/constants.js +34 -13
- package/lib/modules/Customer/index.js +169 -232
- package/lib/modules/Customer/types.js +35 -38
- package/lib/modules/Date/index.js +115 -116
- package/lib/modules/Date/types.js +28 -16
- package/lib/modules/Date/utils.js +123 -174
- package/lib/modules/Discount/index.d.ts +0 -1
- package/lib/modules/Discount/index.js +128 -130
- package/lib/modules/Discount/types.d.ts +0 -1
- package/lib/modules/Discount/types.js +31 -9
- package/lib/modules/Guests/index.js +56 -30
- package/lib/modules/Guests/types.js +33 -23
- package/lib/modules/Holder/index.js +189 -209
- package/lib/modules/Holder/types.js +16 -4
- package/lib/modules/Holder/utils.js +49 -20
- package/lib/modules/OpenData/index.js +76 -69
- package/lib/modules/OpenData/types.js +16 -4
- package/lib/modules/OpenData/utils.js +78 -44
- package/lib/modules/Order/index.js +1909 -1572
- package/lib/modules/Order/types.js +35 -78
- package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
- package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
- package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
- package/lib/modules/Order/utils.js +634 -799
- package/lib/modules/Payment/cash.js +33 -20
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
- package/lib/modules/Payment/eftpos.js +30 -16
- package/lib/modules/Payment/index.js +378 -518
- package/lib/modules/Payment/mx51.js +0 -1
- package/lib/modules/Payment/types.d.ts +4 -8
- package/lib/modules/Payment/types.js +107 -216
- package/lib/modules/Payment/utils.js +48 -51
- package/lib/modules/Payment/walletpass.d.ts +0 -2
- package/lib/modules/Payment/walletpass.js +211 -226
- package/lib/modules/Product/index.js +46 -51
- package/lib/modules/Product/types.js +16 -4
- package/lib/modules/Product/utils.js +33 -32
- package/lib/modules/ProductList/index.d.ts +1 -1
- package/lib/modules/ProductList/index.js +117 -117
- package/lib/modules/ProductList/types.d.ts +0 -1
- package/lib/modules/ProductList/types.js +31 -9
- package/lib/modules/Quotation/index.js +100 -66
- package/lib/modules/Quotation/types.js +16 -4
- package/lib/modules/Resource/index.js +59 -27
- package/lib/modules/Resource/types.js +32 -22
- package/lib/modules/Resource/utils.js +38 -30
- package/lib/modules/ResourcePlanner/index.js +61 -60
- package/lib/modules/ResourcePlanner/planner.js +384 -346
- package/lib/modules/ResourcePlanner/types.js +16 -4
- package/lib/modules/Rules/index.js +903 -1475
- package/lib/modules/Rules/types.js +40 -17
- package/lib/modules/SalesSummary/index.js +90 -85
- package/lib/modules/SalesSummary/types.js +16 -4
- package/lib/modules/SalesSummary/utils.js +427 -351
- package/lib/modules/ScanOrderLogger/index.js +79 -59
- package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
- package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
- package/lib/modules/ScanOrderLogger/types.js +16 -4
- package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
- package/lib/modules/Schedule/index.js +114 -100
- package/lib/modules/Schedule/type.js +16 -4
- package/lib/modules/Schedule/types.js +16 -4
- package/lib/modules/Schedule/utils.js +291 -433
- package/lib/modules/Step/index.js +52 -40
- package/lib/modules/Step/tyeps.js +16 -4
- package/lib/modules/Summary/index.js +71 -66
- package/lib/modules/Summary/types.js +16 -4
- package/lib/modules/Summary/utils.js +418 -791
- package/lib/modules/SurchargeList/index.js +60 -46
- package/lib/modules/SurchargeList/types.js +16 -4
- package/lib/modules/index.js +63 -245
- package/lib/plugins/app.js +16 -4
- package/lib/plugins/index.js +25 -36
- package/lib/plugins/request.js +126 -137
- package/lib/plugins/shopStore.js +16 -4
- package/lib/plugins/user.js +16 -4
- package/lib/plugins/window.js +179 -171
- package/lib/server/index.js +2337 -2675
- package/lib/server/modules/floor-plan/index.js +123 -102
- package/lib/server/modules/floor-plan/types.js +30 -15
- package/lib/server/modules/index.js +68 -106
- package/lib/server/modules/menu/index.js +122 -146
- package/lib/server/modules/menu/types.js +31 -18
- package/lib/server/modules/order/index.js +642 -567
- package/lib/server/modules/order/types.js +32 -117
- package/lib/server/modules/order/utils/filterBookings.js +194 -219
- package/lib/server/modules/order/utils/filterOrders.js +92 -118
- package/lib/server/modules/payment/index.js +83 -59
- package/lib/server/modules/payment/types.js +16 -4
- package/lib/server/modules/products/index.js +459 -575
- package/lib/server/modules/products/types.js +34 -44
- package/lib/server/modules/quotation/index.js +172 -137
- package/lib/server/modules/quotation/types.js +31 -21
- package/lib/server/modules/resource/index.js +184 -213
- package/lib/server/modules/resource/types.js +33 -42
- package/lib/server/modules/schedule/index.js +123 -135
- package/lib/server/modules/schedule/types.js +21 -14
- package/lib/server/modules/schedule/utils.js +163 -334
- package/lib/server/types.js +16 -4
- package/lib/server/utils/index.js +23 -25
- package/lib/server/utils/product.js +139 -196
- package/lib/server/utils/schedule.js +41 -34
- package/lib/server/utils/small-ticket.js +456 -478
- package/lib/server/utils/time.js +49 -40
- package/lib/solution/BaseSales/index.js +1016 -850
- package/lib/solution/BaseSales/types.js +37 -41
- package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
- package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
- package/lib/solution/BaseSales/utils.js +140 -155
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingByStep/index.js +1340 -1530
- package/lib/solution/BookingByStep/types.js +99 -40
- package/lib/solution/BookingByStep/utils/capacity.js +160 -192
- package/lib/solution/BookingByStep/utils/products.js +52 -42
- package/lib/solution/BookingByStep/utils/resources.js +330 -527
- package/lib/solution/BookingByStep/utils/stock.js +44 -65
- package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
- package/lib/solution/BookingTicket/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.js +459 -543
- package/lib/solution/BookingTicket/types.js +77 -99
- package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
- package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
- package/lib/solution/BookingTicket/utils/cartView.js +94 -110
- package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
- package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
- package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
- package/lib/solution/BuyTickets/index.js +70 -67
- package/lib/solution/BuyTickets/types.js +38 -22
- package/lib/solution/Checkout/index.js +1158 -1451
- package/lib/solution/Checkout/types.js +61 -91
- package/lib/solution/Checkout/utils/index.js +156 -228
- package/lib/solution/PlaceOrder/index.js +0 -55
- package/lib/solution/RegisterAndLogin/config.js +460 -493
- package/lib/solution/RegisterAndLogin/index.js +630 -633
- package/lib/solution/RegisterAndLogin/types.js +76 -189
- package/lib/solution/RegisterAndLogin/utils.js +125 -183
- package/lib/solution/Sales/index.js +320 -317
- package/lib/solution/Sales/types.js +33 -27
- package/lib/solution/ScanOrder/index.js +862 -831
- package/lib/solution/ScanOrder/types.js +34 -33
- package/lib/solution/ScanOrder/utils.js +371 -406
- package/lib/solution/ShopDiscount/index.js +233 -235
- package/lib/solution/ShopDiscount/types.d.ts +4 -5
- package/lib/solution/ShopDiscount/types.js +37 -15
- package/lib/solution/ShopDiscount/utils.d.ts +0 -9
- package/lib/solution/ShopDiscount/utils.js +172 -309
- package/lib/solution/UnifiedBookingSales/index.js +405 -379
- package/lib/solution/UnifiedBookingSales/types.js +31 -12
- package/lib/solution/VenueBooking/index.d.ts +3 -31
- package/lib/solution/VenueBooking/index.js +916 -967
- package/lib/solution/VenueBooking/types.d.ts +1 -3
- package/lib/solution/VenueBooking/types.js +39 -20
- package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
- package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
- package/lib/solution/VenueBooking/utils/resource.js +54 -31
- package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
- package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
- package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
- package/lib/solution/VenueBooking/utils.js +67 -130
- package/lib/solution/index.js +41 -124
- package/lib/store/createStore.js +29 -32
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.js +16 -4
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +47 -81
- package/package.json +2 -4
- package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
- package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
- package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
- package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
|
@@ -1,43 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
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
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/modules/Product/index.ts
|
|
21
|
+
var Product_exports = {};
|
|
22
|
+
__export(Product_exports, {
|
|
23
|
+
Product: () => Product
|
|
22
24
|
});
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
* @export
|
|
28
|
-
* @class Product
|
|
29
|
-
* @extends {BaseModule}
|
|
30
|
-
* @implements {Module}
|
|
31
|
-
*/
|
|
32
|
-
class Product extends _BaseModule.BaseModule {
|
|
33
|
-
defaultName = 'product';
|
|
34
|
-
defaultVersion = '1.0.0';
|
|
35
|
-
store;
|
|
36
|
-
otherParams = {
|
|
37
|
-
scheduler: []
|
|
38
|
-
};
|
|
25
|
+
module.exports = __toCommonJS(Product_exports);
|
|
26
|
+
var import_BaseModule = require("../BaseModule");
|
|
27
|
+
__reExport(Product_exports, require("./types"), module.exports);
|
|
28
|
+
var Product = class extends import_BaseModule.BaseModule {
|
|
39
29
|
constructor(name, version) {
|
|
40
30
|
super(name, version);
|
|
31
|
+
this.defaultName = "product";
|
|
32
|
+
this.defaultVersion = "1.0.0";
|
|
33
|
+
this.otherParams = {
|
|
34
|
+
scheduler: []
|
|
35
|
+
};
|
|
41
36
|
}
|
|
42
37
|
async initialize(core, options) {
|
|
43
38
|
this.core = core;
|
|
@@ -46,49 +41,44 @@ class Product extends _BaseModule.BaseModule {
|
|
|
46
41
|
updateData(data) {
|
|
47
42
|
Object.assign(this.store, data);
|
|
48
43
|
}
|
|
49
|
-
|
|
50
44
|
/**
|
|
51
45
|
* 获取商品数据
|
|
52
46
|
*/
|
|
53
47
|
getData() {
|
|
54
48
|
return this.store;
|
|
55
49
|
}
|
|
56
|
-
|
|
57
50
|
/**
|
|
58
51
|
* 获取商品ID
|
|
59
52
|
*/
|
|
60
53
|
getId() {
|
|
61
|
-
|
|
54
|
+
var _a;
|
|
55
|
+
return ((_a = this.store) == null ? void 0 : _a.id) ?? null;
|
|
62
56
|
}
|
|
63
|
-
|
|
64
57
|
/**
|
|
65
58
|
* 获取商品标题
|
|
66
59
|
*/
|
|
67
60
|
getTitle() {
|
|
68
|
-
|
|
61
|
+
var _a;
|
|
62
|
+
return ((_a = this.store) == null ? void 0 : _a.title) ?? null;
|
|
69
63
|
}
|
|
70
|
-
|
|
71
64
|
/**
|
|
72
65
|
* 获取商品捆绑组
|
|
73
66
|
*/
|
|
74
67
|
getBundleGroups() {
|
|
75
68
|
return this.store.bundle_groups;
|
|
76
69
|
}
|
|
77
|
-
|
|
78
70
|
/**
|
|
79
71
|
* 获取商品媒体
|
|
80
72
|
*/
|
|
81
73
|
getMedia() {
|
|
82
74
|
return this.store.media;
|
|
83
75
|
}
|
|
84
|
-
|
|
85
76
|
/**
|
|
86
77
|
* 获取商品标签
|
|
87
78
|
*/
|
|
88
79
|
getTags() {
|
|
89
80
|
return this.store.tags;
|
|
90
81
|
}
|
|
91
|
-
|
|
92
82
|
/**
|
|
93
83
|
* 获取商品分类
|
|
94
84
|
*/
|
|
@@ -102,13 +92,18 @@ class Product extends _BaseModule.BaseModule {
|
|
|
102
92
|
return this.otherParams;
|
|
103
93
|
}
|
|
104
94
|
getProductType() {
|
|
95
|
+
var _a;
|
|
105
96
|
if (this.store.duration) {
|
|
106
|
-
return
|
|
97
|
+
return "duration";
|
|
107
98
|
}
|
|
108
|
-
if (this.store[
|
|
109
|
-
return
|
|
99
|
+
if ((_a = this.store["schedule.ids"]) == null ? void 0 : _a.length) {
|
|
100
|
+
return "session";
|
|
110
101
|
}
|
|
111
|
-
return
|
|
102
|
+
return "normal";
|
|
112
103
|
}
|
|
113
|
-
}
|
|
114
|
-
|
|
104
|
+
};
|
|
105
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
106
|
+
0 && (module.exports = {
|
|
107
|
+
Product,
|
|
108
|
+
...require("./types")
|
|
109
|
+
});
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
2
14
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
15
|
+
// src/modules/Product/types.ts
|
|
16
|
+
var types_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -1,45 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
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);
|
|
2
18
|
|
|
3
|
-
|
|
4
|
-
|
|
19
|
+
// src/modules/Product/utils.ts
|
|
20
|
+
var utils_exports = {};
|
|
21
|
+
__export(utils_exports, {
|
|
22
|
+
areAllNormalProducts: () => areAllNormalProducts,
|
|
23
|
+
isNormalProduct: () => isNormalProduct
|
|
5
24
|
});
|
|
6
|
-
exports
|
|
7
|
-
exports.isNormalProduct = isNormalProduct;
|
|
8
|
-
/**
|
|
9
|
-
* 传入单个商品信息,通过商品上是否有 duration 或者 schedule.ids 来判断是否是普通商品
|
|
10
|
-
*
|
|
11
|
-
* @export
|
|
12
|
-
* @param {ProductData} product
|
|
13
|
-
* @return {*} {boolean}
|
|
14
|
-
*/
|
|
25
|
+
module.exports = __toCommonJS(utils_exports);
|
|
15
26
|
function isNormalProduct(product) {
|
|
16
|
-
|
|
17
|
-
if (product
|
|
27
|
+
var _a;
|
|
28
|
+
if (product == null ? void 0 : product.duration) {
|
|
18
29
|
return false;
|
|
19
30
|
}
|
|
20
|
-
|
|
21
|
-
// 如果有 schedule.ids 且长度大于0,则不是普通商品
|
|
22
|
-
if (product?.['schedule.ids']?.length) {
|
|
31
|
+
if ((_a = product == null ? void 0 : product["schedule.ids"]) == null ? void 0 : _a.length) {
|
|
23
32
|
return false;
|
|
24
33
|
}
|
|
25
|
-
|
|
26
|
-
// 既没有 duration 也没有 schedule.ids,则是普通商品
|
|
27
34
|
return true;
|
|
28
35
|
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* 传入多个商品信息,确定这些商品是否都是普通商品
|
|
32
|
-
*
|
|
33
|
-
* @export
|
|
34
|
-
* @param {ProductData[]} products
|
|
35
|
-
* @return {*} {boolean}
|
|
36
|
-
*/
|
|
37
36
|
function areAllNormalProducts(products) {
|
|
38
|
-
// 如果数组为空,返回 true
|
|
39
37
|
if (!products.length) {
|
|
40
38
|
return false;
|
|
41
39
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
return products.every((product) => isNormalProduct(product));
|
|
41
|
+
}
|
|
42
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
43
|
+
0 && (module.exports = {
|
|
44
|
+
areAllNormalProducts,
|
|
45
|
+
isNormalProduct
|
|
46
|
+
});
|
|
@@ -26,7 +26,7 @@ export declare class ProductList extends BaseModule implements Module {
|
|
|
26
26
|
* const products = await productList.getAddTimeProducts({ schedule_date: '2026-06-16' });
|
|
27
27
|
*/
|
|
28
28
|
getAddTimeProducts(params?: ProductListLoadProductsParams): Promise<any>;
|
|
29
|
-
loadProducts({ category_ids, product_ids, collection, menu_list_ids, customer_id: paramsCustomerId, with_count, schedule_datetime, schedule_date, cacheId, with_schedule, extension_type, status, strategy_context,
|
|
29
|
+
loadProducts({ category_ids, product_ids, collection, menu_list_ids, customer_id: paramsCustomerId, with_count, schedule_datetime, schedule_date, cacheId, with_schedule, extension_type, status, strategy_context, }?: ProductListLoadProductsParams, options?: {
|
|
30
30
|
callback?: (result: any) => void;
|
|
31
31
|
subscriberId?: string;
|
|
32
32
|
}): Promise<any>;
|
|
@@ -1,51 +1,63 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
|
|
1
|
+
var __create = Object.create;
|
|
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 });
|
|
8
10
|
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
})
|
|
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/modules/ProductList/index.ts
|
|
31
|
+
var ProductList_exports = {};
|
|
32
|
+
__export(ProductList_exports, {
|
|
33
|
+
ProductList: () => ProductList
|
|
24
34
|
});
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
otherParams = {};
|
|
35
|
+
module.exports = __toCommonJS(ProductList_exports);
|
|
36
|
+
var import_BaseModule = require("../BaseModule");
|
|
37
|
+
var import_lodash_es = require("lodash-es");
|
|
38
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
39
|
+
__reExport(ProductList_exports, require("./types"), module.exports);
|
|
40
|
+
var ProductList = class extends import_BaseModule.BaseModule {
|
|
32
41
|
constructor(name, version) {
|
|
33
42
|
super(name, version);
|
|
43
|
+
this.defaultName = "productList";
|
|
44
|
+
this.defaultVersion = "1.0.0";
|
|
45
|
+
this.otherParams = {};
|
|
34
46
|
}
|
|
35
47
|
async initialize(core, options) {
|
|
48
|
+
var _a;
|
|
36
49
|
this.core = core;
|
|
37
50
|
this.store = options.store;
|
|
38
51
|
this.otherParams = options.otherParams || {};
|
|
39
|
-
if (Array.isArray(options.initialState
|
|
52
|
+
if (Array.isArray((_a = options.initialState) == null ? void 0 : _a.list)) {
|
|
40
53
|
this.store.list = options.initialState.list.slice().sort((a, b) => Number(b.sort) - Number(a.sort));
|
|
41
54
|
this.core.effects.emit(`${this.name}:changed`, this.store.list);
|
|
42
55
|
} else {
|
|
43
56
|
this.store.list = [];
|
|
44
57
|
this.store.selectProducts = [];
|
|
45
58
|
}
|
|
46
|
-
this.request = core.getPlugin(
|
|
59
|
+
this.request = core.getPlugin("request");
|
|
47
60
|
}
|
|
48
|
-
|
|
49
61
|
/**
|
|
50
62
|
* 更新运行态参数,供父级解决方案 setOtherParams 后同步查询上下文。
|
|
51
63
|
*
|
|
@@ -56,9 +68,7 @@ class ProductList extends _BaseModule.BaseModule {
|
|
|
56
68
|
this.otherParams = params || {};
|
|
57
69
|
}
|
|
58
70
|
async storeChange(path, value) {
|
|
59
|
-
// No longer needed - products are stored as plain objects instead of Product instances
|
|
60
71
|
}
|
|
61
|
-
|
|
62
72
|
/**
|
|
63
73
|
* 获取加时商品列表。
|
|
64
74
|
*
|
|
@@ -67,10 +77,10 @@ class ProductList extends _BaseModule.BaseModule {
|
|
|
67
77
|
*/
|
|
68
78
|
async getAddTimeProducts(params = {}) {
|
|
69
79
|
return this.loadProducts({
|
|
70
|
-
schedule_date: (0,
|
|
71
|
-
status:
|
|
80
|
+
schedule_date: (0, import_dayjs.default)().format("YYYY-MM-DD"),
|
|
81
|
+
status: "published",
|
|
72
82
|
...params,
|
|
73
|
-
extension_type: [
|
|
83
|
+
extension_type: ["product_add_time"]
|
|
74
84
|
});
|
|
75
85
|
}
|
|
76
86
|
async loadProducts({
|
|
@@ -85,61 +95,47 @@ class ProductList extends _BaseModule.BaseModule {
|
|
|
85
95
|
cacheId,
|
|
86
96
|
with_schedule,
|
|
87
97
|
extension_type,
|
|
88
|
-
status =
|
|
89
|
-
strategy_context
|
|
90
|
-
with_extra = []
|
|
98
|
+
status = "published",
|
|
99
|
+
strategy_context
|
|
91
100
|
} = {}, options) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
// .getScheduleListByIds(schedule_ids)
|
|
96
|
-
// .map((n) => n.id);
|
|
97
|
-
// if (schedule_ids_data.length) {
|
|
98
|
-
// schedule_ids = schedule_ids_data;
|
|
99
|
-
// } else if (schedule_date) {
|
|
100
|
-
// // 后端说如果 schedule_ids 如果为空,需要给[0]
|
|
101
|
-
// schedule_ids = [0];
|
|
102
|
-
// }
|
|
103
|
-
// }
|
|
104
|
-
let userPlugin = this.core.getPlugin('user');
|
|
105
|
-
let customer_id = undefined;
|
|
101
|
+
var _a, _b;
|
|
102
|
+
let userPlugin = this.core.getPlugin("user");
|
|
103
|
+
let customer_id = void 0;
|
|
106
104
|
try {
|
|
107
|
-
customer_id = paramsCustomerId || userPlugin
|
|
105
|
+
customer_id = paramsCustomerId || ((_a = userPlugin == null ? void 0 : userPlugin.get()) == null ? void 0 : _a.id);
|
|
108
106
|
} catch (error) {
|
|
109
107
|
console.error(error);
|
|
110
108
|
}
|
|
111
|
-
// 如果没传schedule_date,则从
|
|
112
109
|
const channelMap = {
|
|
113
|
-
online_store:
|
|
114
|
-
scan_to_order:
|
|
115
|
-
|
|
116
|
-
scan_to_order_2:
|
|
117
|
-
scan_to_order_3:
|
|
110
|
+
online_store: "online-store",
|
|
111
|
+
scan_to_order: "online-store",
|
|
112
|
+
"scan-to-order": "online-store",
|
|
113
|
+
scan_to_order_2: "mobile_order",
|
|
114
|
+
scan_to_order_3: "scantoorder3"
|
|
118
115
|
};
|
|
119
|
-
const rawApplicationCode = this.otherParams
|
|
120
|
-
const mappedApplicationCode = typeof rawApplicationCode ===
|
|
116
|
+
const rawApplicationCode = (_b = this.otherParams) == null ? void 0 : _b.channel;
|
|
117
|
+
const mappedApplicationCode = typeof rawApplicationCode === "string" ? channelMap[rawApplicationCode] || rawApplicationCode : rawApplicationCode;
|
|
121
118
|
const queryPayload = {
|
|
122
119
|
open_quotation: 1,
|
|
123
120
|
open_bundle: 0,
|
|
124
|
-
exclude_extension_type: [
|
|
125
|
-
|
|
121
|
+
exclude_extension_type: [
|
|
122
|
+
"product_party",
|
|
123
|
+
"product_event",
|
|
124
|
+
"product_series_event",
|
|
125
|
+
"product_package_ticket",
|
|
126
|
+
"ticket",
|
|
127
|
+
"event_item"
|
|
128
|
+
],
|
|
129
|
+
with: ["category", "collection", "resourceRelation"],
|
|
126
130
|
status,
|
|
127
131
|
num: 500,
|
|
128
132
|
skip: 1,
|
|
129
133
|
customer_id,
|
|
130
|
-
...
|
|
131
|
-
|
|
132
|
-
} : {}
|
|
133
|
-
...(Array.isArray(product_ids) && product_ids.length ? {
|
|
134
|
-
ids: product_ids
|
|
135
|
-
} : {}),
|
|
136
|
-
...(Array.isArray(collection) && collection.length ? {
|
|
137
|
-
collection
|
|
138
|
-
} : {}),
|
|
134
|
+
...Array.isArray(category_ids) && category_ids.length ? { category_ids } : {},
|
|
135
|
+
...Array.isArray(product_ids) && product_ids.length ? { ids: product_ids } : {},
|
|
136
|
+
...Array.isArray(collection) && collection.length ? { collection } : {},
|
|
139
137
|
front_end_cache_id: cacheId,
|
|
140
|
-
...
|
|
141
|
-
menu_list_ids
|
|
142
|
-
} : {}),
|
|
138
|
+
...Array.isArray(menu_list_ids) && menu_list_ids.length ? { menu_list_ids } : {},
|
|
143
139
|
with_count,
|
|
144
140
|
// client_schedule_ids: schedule_ids,
|
|
145
141
|
schedule_date,
|
|
@@ -147,23 +143,15 @@ class ProductList extends _BaseModule.BaseModule {
|
|
|
147
143
|
is_eject: 1,
|
|
148
144
|
with_schedule,
|
|
149
145
|
schedule_datetime,
|
|
150
|
-
extension_type
|
|
151
|
-
strategy_context
|
|
146
|
+
extension_type
|
|
152
147
|
};
|
|
153
|
-
const productsData = await this.request.post(
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
subscriberId: options
|
|
157
|
-
|
|
158
|
-
|
|
148
|
+
const productsData = await this.request.post(
|
|
149
|
+
`/product/query`,
|
|
150
|
+
queryPayload,
|
|
151
|
+
{ osServer: true, callback: options == null ? void 0 : options.callback, subscriberId: options == null ? void 0 : options.subscriberId, customToast: () => {
|
|
152
|
+
} }
|
|
153
|
+
);
|
|
159
154
|
const sortedList = (productsData.data.list || []).slice().sort((a, b) => Number(b.sort) - Number(a.sort));
|
|
160
|
-
// if (sortedList.length) {
|
|
161
|
-
// sortedList.forEach((n: any) => {
|
|
162
|
-
// if (n.is_eject !== 1 && n['schedule.ids'] && n['schedule.ids'].length) {
|
|
163
|
-
// n.is_eject = 1
|
|
164
|
-
// }
|
|
165
|
-
// })
|
|
166
|
-
// }
|
|
167
155
|
this.addProduct(sortedList);
|
|
168
156
|
return sortedList;
|
|
169
157
|
}
|
|
@@ -173,68 +161,80 @@ class ProductList extends _BaseModule.BaseModule {
|
|
|
173
161
|
schedule_date,
|
|
174
162
|
channel
|
|
175
163
|
}) {
|
|
176
|
-
const productsData = await this.request.post(
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
164
|
+
const productsData = await this.request.post(
|
|
165
|
+
`/product/query/price`,
|
|
166
|
+
{
|
|
167
|
+
ids,
|
|
168
|
+
customer_id,
|
|
169
|
+
schedule_date,
|
|
170
|
+
channel
|
|
171
|
+
},
|
|
172
|
+
{ useCache: true }
|
|
173
|
+
);
|
|
184
174
|
return productsData.data;
|
|
185
175
|
}
|
|
186
176
|
async getProducts() {
|
|
187
|
-
await this.core.effects.emit(
|
|
188
|
-
|
|
177
|
+
await this.core.effects.emit(
|
|
178
|
+
`${this.name}:onGetProducts`,
|
|
179
|
+
this.store.list
|
|
180
|
+
);
|
|
181
|
+
return (0, import_lodash_es.cloneDeep)(this.store.list);
|
|
189
182
|
}
|
|
190
183
|
async getProduct(id) {
|
|
191
|
-
await this.core.effects.emit(
|
|
192
|
-
|
|
193
|
-
|
|
184
|
+
await this.core.effects.emit(
|
|
185
|
+
`${this.name}:onGetProduct`,
|
|
186
|
+
this.store.list
|
|
187
|
+
);
|
|
188
|
+
const product = this.store.list.find((product2) => product2.id === id);
|
|
189
|
+
return product ? (0, import_lodash_es.cloneDeep)(product) : void 0;
|
|
194
190
|
}
|
|
195
191
|
async getProductByIds(ids) {
|
|
196
|
-
await this.core.effects.emit(
|
|
197
|
-
|
|
192
|
+
await this.core.effects.emit(
|
|
193
|
+
`${this.name}:onGetProductByIds`,
|
|
194
|
+
this.store.list
|
|
195
|
+
);
|
|
196
|
+
const products = this.store.list.filter((product) => ids.includes(product.id));
|
|
198
197
|
return products;
|
|
199
198
|
}
|
|
200
199
|
async addProduct(products) {
|
|
201
|
-
// list 需要根据 id 去重
|
|
202
200
|
if (!this.store.list) {
|
|
203
201
|
this.store.list = [];
|
|
204
202
|
}
|
|
205
|
-
products.forEach(n => {
|
|
206
|
-
const index = this.store.list.findIndex(m => m.id === n.id);
|
|
203
|
+
products.forEach((n) => {
|
|
204
|
+
const index = this.store.list.findIndex((m) => m.id === n.id);
|
|
207
205
|
if (index === -1) {
|
|
208
206
|
this.store.list.push(n);
|
|
209
207
|
} else {
|
|
210
208
|
this.store.list[index] = n;
|
|
211
209
|
}
|
|
212
210
|
});
|
|
213
|
-
// 根据 sort 值做降序排序(数字越大越靠前)
|
|
214
211
|
this.store.list.sort((a, b) => Number(b.sort) - Number(a.sort));
|
|
215
212
|
this.core.effects.emit(`${this.name}:changed`, this.store.list);
|
|
216
213
|
}
|
|
217
214
|
async selectProducts(products) {
|
|
218
215
|
this.store.selectProducts = products;
|
|
219
216
|
}
|
|
220
|
-
|
|
221
217
|
/**
|
|
222
218
|
* 根据商品编码或条码搜索商品
|
|
223
219
|
* @param code 商品编码或条码
|
|
224
220
|
* @returns 匹配的商品列表,如果没有匹配则返回空数组
|
|
225
221
|
*/
|
|
226
222
|
findProductsByCodeOrBarcode(code) {
|
|
227
|
-
if (!code || typeof code !==
|
|
223
|
+
if (!code || typeof code !== "string") {
|
|
228
224
|
return [];
|
|
229
225
|
}
|
|
230
226
|
const trimmedCode = code.trim();
|
|
231
227
|
if (!trimmedCode) {
|
|
232
228
|
return [];
|
|
233
229
|
}
|
|
234
|
-
const matchingProducts = this.store.list.filter(product => {
|
|
230
|
+
const matchingProducts = this.store.list.filter((product) => {
|
|
235
231
|
return product.code && product.code.trim() === trimmedCode || product.barcode && product.barcode.trim() === trimmedCode;
|
|
236
232
|
});
|
|
237
|
-
return (0,
|
|
233
|
+
return (0, import_lodash_es.cloneDeep)(matchingProducts);
|
|
238
234
|
}
|
|
239
|
-
}
|
|
240
|
-
|
|
235
|
+
};
|
|
236
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
237
|
+
0 && (module.exports = {
|
|
238
|
+
ProductList,
|
|
239
|
+
...require("./types")
|
|
240
|
+
});
|
|
@@ -1,11 +1,33 @@
|
|
|
1
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
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);
|
|
2
18
|
|
|
3
|
-
|
|
4
|
-
|
|
19
|
+
// src/modules/ProductList/types.ts
|
|
20
|
+
var types_exports = {};
|
|
21
|
+
__export(types_exports, {
|
|
22
|
+
ProductListHooks: () => ProductListHooks
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(types_exports);
|
|
25
|
+
var ProductListHooks = /* @__PURE__ */ ((ProductListHooks2) => {
|
|
26
|
+
ProductListHooks2["onGetProducts"] = "productList:onGetProducts";
|
|
27
|
+
ProductListHooks2["onGetProduct"] = "productList:onGetProduct";
|
|
28
|
+
return ProductListHooks2;
|
|
29
|
+
})(ProductListHooks || {});
|
|
30
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
31
|
+
0 && (module.exports = {
|
|
32
|
+
ProductListHooks
|
|
5
33
|
});
|
|
6
|
-
exports.ProductListHooks = void 0;
|
|
7
|
-
let ProductListHooks = exports.ProductListHooks = /*#__PURE__*/function (ProductListHooks) {
|
|
8
|
-
ProductListHooks["onGetProducts"] = "productList:onGetProducts";
|
|
9
|
-
ProductListHooks["onGetProduct"] = "productList:onGetProduct";
|
|
10
|
-
return ProductListHooks;
|
|
11
|
-
}({});
|