@pisell/pisellos 2.3.73 → 2.3.75
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.d.ts +7 -0
- package/dist/core/index.js +111 -71
- 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 +36 -64
- package/dist/modules/Payment/index.js +97 -162
- package/dist/modules/Quotation/index.d.ts +6 -0
- package/dist/modules/Quotation/index.js +75 -19
- 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.d.ts +1 -0
- package/dist/plugins/request.js +1 -4
- package/dist/plugins/window.js +2 -6
- package/dist/server/index.d.ts +8 -2
- package/dist/server/index.js +303 -269
- package/dist/server/modules/floor-plan/index.d.ts +4 -0
- package/dist/server/modules/floor-plan/index.js +240 -98
- package/dist/server/modules/menu/index.js +75 -59
- package/dist/server/modules/order/index.d.ts +17 -7
- package/dist/server/modules/order/index.js +421 -211
- package/dist/server/modules/products/index.d.ts +8 -2
- package/dist/server/modules/products/index.js +191 -117
- package/dist/server/modules/quotation/index.js +29 -38
- package/dist/server/modules/resource/index.js +24 -17
- package/dist/server/modules/schedule/index.js +27 -35
- package/dist/server/utils/product.js +0 -1
- package/dist/solution/BaseSales/index.js +38 -41
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- 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.d.ts +7 -0
- package/lib/core/index.js +149 -131
- 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 +1713 -2118
- package/lib/modules/Order/payment-utils.js +77 -120
- 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.d.ts +6 -0
- package/lib/modules/Quotation/index.js +110 -103
- 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.d.ts +1 -0
- 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.d.ts +8 -2
- package/lib/server/index.js +3083 -2663
- package/lib/server/modules/floor-plan/index.d.ts +4 -0
- package/lib/server/modules/floor-plan/index.js +159 -127
- 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 +170 -124
- package/lib/server/modules/menu/types.js +18 -31
- package/lib/server/modules/order/index.d.ts +17 -7
- package/lib/server/modules/order/index.js +916 -977
- 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.d.ts +8 -2
- package/lib/server/modules/products/index.js +656 -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 +225 -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 +1186 -1410
- package/lib/solution/BaseSales/types.js +42 -38
- package/lib/solution/BaseSales/utils/cartPromotion.js +642 -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.d.ts +1 -1
- 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,37 +1,40 @@
|
|
|
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
|
-
CustomerHooks: () => CustomerHooks
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(types_exports);
|
|
25
|
-
var CustomerHooks = /* @__PURE__ */ ((CustomerHooks2) => {
|
|
26
|
-
CustomerHooks2["OnCustomerListUpdate"] = "customer:onCustomerListUpdate";
|
|
27
|
-
CustomerHooks2["OnCustomerListError"] = "customer:onError";
|
|
28
|
-
CustomerHooks2["OnCustomerSelected"] = "customer:onCustomerSelected";
|
|
29
|
-
CustomerHooks2["OnPaginationChange"] = "customer:onPaginationChange";
|
|
30
|
-
CustomerHooks2["OnScrollLoadMore"] = "customer:onScrollLoadMore";
|
|
31
|
-
CustomerHooks2["OnScrollLoadComplete"] = "customer:onScrollLoadComplete";
|
|
32
|
-
return CustomerHooks2;
|
|
33
|
-
})(CustomerHooks || {});
|
|
34
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
35
|
-
0 && (module.exports = {
|
|
36
|
-
CustomerHooks
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
37
5
|
});
|
|
6
|
+
exports.CustomerHooks = void 0;
|
|
7
|
+
let CustomerHooks = exports.CustomerHooks = /*#__PURE__*/function (CustomerHooks) {
|
|
8
|
+
CustomerHooks["OnCustomerListUpdate"] = "customer:onCustomerListUpdate";
|
|
9
|
+
CustomerHooks["OnCustomerListError"] = "customer:onError";
|
|
10
|
+
CustomerHooks["OnCustomerSelected"] = "customer:onCustomerSelected";
|
|
11
|
+
CustomerHooks["OnPaginationChange"] = "customer:onPaginationChange";
|
|
12
|
+
CustomerHooks["OnScrollLoadMore"] = "customer:onScrollLoadMore";
|
|
13
|
+
CustomerHooks["OnScrollLoadComplete"] = "customer:onScrollLoadComplete";
|
|
14
|
+
return CustomerHooks;
|
|
15
|
+
}({});
|
|
16
|
+
/**
|
|
17
|
+
* 客户数据
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* 客户列表关联查询参数
|
|
21
|
+
*
|
|
22
|
+
* formRecord: 用户表单记录
|
|
23
|
+
* walletDetails.wallet: 用户所有wallet
|
|
24
|
+
* latestWalletDetail.wallet: 用户最新wallet
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* 获取客户列表参数
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* 分页信息
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* 客户列表响应
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* 客户列表状态
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* 客户模块 API
|
|
40
|
+
*/
|
|
@@ -1,72 +1,48 @@
|
|
|
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(Date_exports, {
|
|
32
|
-
DateModule: () => DateModule
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
33
5
|
});
|
|
34
|
-
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
|
|
6
|
+
exports.DateModule = void 0;
|
|
7
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
8
|
+
var _BaseModule = require("../BaseModule");
|
|
9
|
+
var _utils = require("./utils");
|
|
10
|
+
var _cloneDeep = _interopRequireDefault(require("lodash-es/cloneDeep"));
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
class DateModule extends _BaseModule.BaseModule {
|
|
13
|
+
defaultName = 'date';
|
|
14
|
+
defaultVersion = '1.0.0';
|
|
15
|
+
store;
|
|
16
|
+
request;
|
|
17
|
+
cacheId;
|
|
18
|
+
openCache = false;
|
|
19
|
+
fatherModule;
|
|
40
20
|
constructor(name, version) {
|
|
41
21
|
super(name, version);
|
|
42
|
-
this.defaultName = "date";
|
|
43
|
-
this.defaultVersion = "1.0.0";
|
|
44
|
-
this.openCache = false;
|
|
45
22
|
}
|
|
46
23
|
async initialize(core, options) {
|
|
47
|
-
var _a, _b;
|
|
48
24
|
this.core = core;
|
|
49
25
|
this.store = options.store;
|
|
50
|
-
this.request = this.core.getPlugin(
|
|
26
|
+
this.request = this.core.getPlugin('request');
|
|
51
27
|
if (options.initialState) {
|
|
52
28
|
this.store.dateRange = options.initialState.dateRange;
|
|
53
29
|
this.store.dateList = options.initialState.dateList;
|
|
54
30
|
}
|
|
55
31
|
if (!this.request) {
|
|
56
|
-
throw new Error(
|
|
32
|
+
throw new Error('DateModule 需要 request 插件支持');
|
|
57
33
|
}
|
|
58
|
-
if (
|
|
34
|
+
if (options.otherParams?.cacheId) {
|
|
59
35
|
this.openCache = options.otherParams.openCache;
|
|
60
36
|
this.cacheId = options.otherParams.cacheId;
|
|
61
37
|
}
|
|
62
|
-
if (
|
|
38
|
+
if (options.otherParams?.fatherModule) {
|
|
63
39
|
this.fatherModule = options.otherParams.fatherModule;
|
|
64
40
|
}
|
|
65
41
|
}
|
|
66
42
|
setDateRange(dateRange) {
|
|
67
|
-
dateRange
|
|
68
|
-
|
|
69
|
-
if (!
|
|
43
|
+
// 如果 dateRange 传入的日期里没有 resource,但是本地有的,要尝试补充下
|
|
44
|
+
dateRange.forEach(item => {
|
|
45
|
+
if (!item.resource?.length) {
|
|
70
46
|
item.resource = this.getResourcesListByDate(item.date);
|
|
71
47
|
}
|
|
72
48
|
});
|
|
@@ -76,17 +52,14 @@ var DateModule = class extends import_BaseModule.BaseModule {
|
|
|
76
52
|
return this.store.dateRange;
|
|
77
53
|
}
|
|
78
54
|
async getResourceDates(params) {
|
|
79
|
-
var _a;
|
|
80
55
|
if (params.useCache) {
|
|
56
|
+
// 发请求之前,做一道检测,看 dateList 里是否有对应日期,且对应日期里是否都有对应 resource_ids 的资源
|
|
81
57
|
const currentDateList = this.getDateList() || [];
|
|
82
|
-
const currentDateListMap = new Map(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const resourceIds = ((_a = params.query) == null ? void 0 : _a.resource_ids) || [];
|
|
86
|
-
const hasResource = resourceIds.every((id) => {
|
|
87
|
-
var _a2;
|
|
58
|
+
const currentDateListMap = new Map(currentDateList.map(item => [item.date, item]));
|
|
59
|
+
const resourceIds = params.query?.resource_ids || [];
|
|
60
|
+
const hasResource = resourceIds.every(id => {
|
|
88
61
|
const currentItem = currentDateListMap.get(id.toString());
|
|
89
|
-
return
|
|
62
|
+
return currentItem?.resource?.some(n => n.id === id);
|
|
90
63
|
});
|
|
91
64
|
if (hasResource) {
|
|
92
65
|
return currentDateList;
|
|
@@ -100,31 +73,24 @@ var DateModule = class extends import_BaseModule.BaseModule {
|
|
|
100
73
|
return this.store.dateList;
|
|
101
74
|
}
|
|
102
75
|
setDateList(dateList) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
);
|
|
76
|
+
// this.store.dateList = dateList;
|
|
77
|
+
// 并不能直接简单的进行复制
|
|
78
|
+
// 我们需要把每一天的资源都进行一个合并
|
|
79
|
+
const currentDateList = (0, _cloneDeep.default)(this.store.dateList) || [];
|
|
80
|
+
dateList.forEach(item => {
|
|
81
|
+
const currentItemIndex = currentDateList.findIndex(n => n.date === item.date);
|
|
109
82
|
if (currentItemIndex !== -1) {
|
|
110
83
|
const currentItem = currentDateList[currentItemIndex];
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
var _a2;
|
|
119
|
-
const newResource2 = (_a2 = item.resource) == null ? void 0 : _a2.find((m) => m.id === n.id);
|
|
120
|
-
if (newResource2) {
|
|
121
|
-
n.times = newResource2.times;
|
|
84
|
+
// 看那一天的数据有没有相同的,把不同的资源合并进去即可
|
|
85
|
+
const newResource = item.resource?.filter(n => !currentItem.resource?.some(m => m.id === n.id));
|
|
86
|
+
// 如果有相同的资源,则使用 item 中的新的resource.times,而不是 currentItem 中的
|
|
87
|
+
currentItem.resource?.forEach(n => {
|
|
88
|
+
const newResource = item.resource?.find(m => m.id === n.id);
|
|
89
|
+
if (newResource) {
|
|
90
|
+
n.times = newResource.times;
|
|
122
91
|
}
|
|
123
92
|
});
|
|
124
|
-
currentItem.resource = [
|
|
125
|
-
...currentItem.resource || [],
|
|
126
|
-
...newResource || []
|
|
127
|
-
];
|
|
93
|
+
currentItem.resource = [...(currentItem.resource || []), ...(newResource || [])];
|
|
128
94
|
currentDateList[currentItemIndex] = currentItem;
|
|
129
95
|
} else {
|
|
130
96
|
currentDateList.push(item);
|
|
@@ -133,9 +99,17 @@ var DateModule = class extends import_BaseModule.BaseModule {
|
|
|
133
99
|
this.store.dateList = currentDateList;
|
|
134
100
|
}
|
|
135
101
|
async fetchResourceDates(params) {
|
|
136
|
-
const {
|
|
137
|
-
|
|
138
|
-
|
|
102
|
+
const {
|
|
103
|
+
url,
|
|
104
|
+
query,
|
|
105
|
+
useCache = true
|
|
106
|
+
} = params;
|
|
107
|
+
const fetchUrl = url || '/schedule/resource/list';
|
|
108
|
+
const {
|
|
109
|
+
start_date,
|
|
110
|
+
end_date,
|
|
111
|
+
resource_ids
|
|
112
|
+
} = query || {};
|
|
139
113
|
try {
|
|
140
114
|
const res = await this.request.get(fetchUrl, {
|
|
141
115
|
start_date,
|
|
@@ -145,7 +119,9 @@ var DateModule = class extends import_BaseModule.BaseModule {
|
|
|
145
119
|
}, {
|
|
146
120
|
useCache
|
|
147
121
|
});
|
|
148
|
-
|
|
122
|
+
|
|
123
|
+
// 校正资源时间段数据
|
|
124
|
+
if (res?.data && Array.isArray(res.data)) {
|
|
149
125
|
res.data = this.correctResourceTimeSlots(res.data);
|
|
150
126
|
}
|
|
151
127
|
return res;
|
|
@@ -153,6 +129,7 @@ var DateModule = class extends import_BaseModule.BaseModule {
|
|
|
153
129
|
console.error(error);
|
|
154
130
|
}
|
|
155
131
|
}
|
|
132
|
+
|
|
156
133
|
/**
|
|
157
134
|
* 将时间向上取整到下一个10分钟整数
|
|
158
135
|
*
|
|
@@ -163,13 +140,16 @@ var DateModule = class extends import_BaseModule.BaseModule {
|
|
|
163
140
|
const minutes = time.minute();
|
|
164
141
|
const remainder = minutes % 10;
|
|
165
142
|
if (remainder === 0) {
|
|
166
|
-
|
|
143
|
+
// 如果已经是10分钟的整数,保持不变
|
|
144
|
+
return time.format('YYYY-MM-DD HH:mm');
|
|
167
145
|
} else {
|
|
146
|
+
// 向上取整到下一个10分钟
|
|
168
147
|
const minutesToAdd = 10 - remainder;
|
|
169
|
-
const roundedTime = time.add(minutesToAdd,
|
|
170
|
-
return roundedTime.format(
|
|
148
|
+
const roundedTime = time.add(minutesToAdd, 'minute');
|
|
149
|
+
return roundedTime.format('YYYY-MM-DD HH:mm');
|
|
171
150
|
}
|
|
172
151
|
}
|
|
152
|
+
|
|
173
153
|
/**
|
|
174
154
|
* 校正资源时间段数据
|
|
175
155
|
*
|
|
@@ -180,36 +160,47 @@ var DateModule = class extends import_BaseModule.BaseModule {
|
|
|
180
160
|
* @returns 校正后的资源数据数组
|
|
181
161
|
*/
|
|
182
162
|
correctResourceTimeSlots(resourcesData) {
|
|
183
|
-
return resourcesData.map(
|
|
163
|
+
return resourcesData.map(resource => {
|
|
164
|
+
// 检查资源是否有 times 数组和 start_time
|
|
184
165
|
if (!resource.times || !Array.isArray(resource.times) || !resource.start_time) {
|
|
185
166
|
return resource;
|
|
186
167
|
}
|
|
168
|
+
// 如果resource.advanced 为 null 或者 resource.advanced.unit 为 0,则不进行修正
|
|
187
169
|
if (!resource.advanced || resource.advanced.unit === 0) {
|
|
188
170
|
return resource;
|
|
189
171
|
}
|
|
190
|
-
const resourceStartTime = (0,
|
|
191
|
-
|
|
172
|
+
const resourceStartTime = (0, _dayjs.default)(resource.start_time);
|
|
173
|
+
|
|
174
|
+
// 过滤和修正时间段
|
|
175
|
+
const correctedTimes = resource.times.map(timeSlot => {
|
|
192
176
|
if (!timeSlot.start_at || !timeSlot.end_at) {
|
|
193
177
|
return timeSlot;
|
|
194
178
|
}
|
|
195
|
-
const startAt = (0,
|
|
196
|
-
const endAt = (0,
|
|
179
|
+
const startAt = (0, _dayjs.default)(timeSlot.start_at);
|
|
180
|
+
const endAt = (0, _dayjs.default)(timeSlot.end_at);
|
|
181
|
+
|
|
182
|
+
// 如果 start_at 早于资源的 start_time,需要修正
|
|
197
183
|
if (startAt.isBefore(resourceStartTime)) {
|
|
184
|
+
// 将 start_time 向上取整到下一个10分钟整数
|
|
198
185
|
const roundedStartTime = this.roundUpToNext10Minutes(resourceStartTime);
|
|
199
|
-
const roundedStartTimeDayjs = (0,
|
|
200
|
-
|
|
186
|
+
const roundedStartTimeDayjs = (0, _dayjs.default)(roundedStartTime);
|
|
187
|
+
// 将 start_at 修正为向上取整后的时间
|
|
201
188
|
const correctedTimeSlot = {
|
|
202
189
|
...timeSlot,
|
|
203
190
|
start_at: roundedStartTime
|
|
204
191
|
};
|
|
192
|
+
|
|
193
|
+
// 检查修正后的 end_at 是否也早于修正后的 start_time
|
|
205
194
|
if (endAt.isBefore(roundedStartTimeDayjs)) {
|
|
206
|
-
|
|
207
|
-
return null;
|
|
195
|
+
return null; // 标记为删除
|
|
208
196
|
}
|
|
209
197
|
return correctedTimeSlot;
|
|
210
198
|
}
|
|
199
|
+
|
|
200
|
+
// 不需要修正的时间段直接返回
|
|
211
201
|
return timeSlot;
|
|
212
|
-
}).filter(
|
|
202
|
+
}).filter(timeSlot => timeSlot !== null); // 过滤掉被删除的时间段
|
|
203
|
+
|
|
213
204
|
return {
|
|
214
205
|
...resource,
|
|
215
206
|
times: correctedTimes
|
|
@@ -217,29 +208,43 @@ var DateModule = class extends import_BaseModule.BaseModule {
|
|
|
217
208
|
});
|
|
218
209
|
}
|
|
219
210
|
async getResourceAvailableTimeList(params) {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
211
|
+
const {
|
|
212
|
+
query,
|
|
213
|
+
rules,
|
|
214
|
+
type
|
|
215
|
+
} = params;
|
|
216
|
+
const {
|
|
217
|
+
start_date,
|
|
218
|
+
end_date,
|
|
219
|
+
resource_ids
|
|
220
|
+
} = query || {};
|
|
223
221
|
if (!start_date || !end_date) {
|
|
224
222
|
return [];
|
|
225
223
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
224
|
+
|
|
225
|
+
// 1.生成当前月份的所有日期,默认都是可用的
|
|
226
|
+
let dates = (0, _utils.generateMonthDates)(start_date, end_date, type);
|
|
227
|
+
|
|
228
|
+
// 如果没有资源或者结束日期在今天之前,则所有日期均不可用
|
|
229
|
+
if (!resource_ids?.length) {
|
|
230
|
+
return (0, _utils.disableAllDates)(dates);
|
|
229
231
|
}
|
|
230
232
|
try {
|
|
231
233
|
const res = await this.fetchResourceDates(params);
|
|
232
|
-
|
|
233
|
-
|
|
234
|
+
// 如果资源列表为空,则所有日期均不可用
|
|
235
|
+
if (!res?.data?.length) {
|
|
236
|
+
return (0, _utils.disableAllDates)(dates);
|
|
234
237
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
+
// 2.根据资源times判定哪些日期内存在可用资源
|
|
239
|
+
dates = (0, _utils.handleAvailableDateByResource)(res.data, dates);
|
|
240
|
+
|
|
241
|
+
// 3.根据提前量和当前日期判定哪些日期可用
|
|
242
|
+
if (rules?.length) {
|
|
243
|
+
dates = (0, _utils.handleAvailableDatesByRules)(dates, rules);
|
|
238
244
|
}
|
|
239
245
|
return dates;
|
|
240
246
|
} catch (error) {
|
|
241
|
-
|
|
242
|
-
return (0, import_utils.disableAllDates)(dates);
|
|
247
|
+
return (0, _utils.disableAllDates)(dates);
|
|
243
248
|
}
|
|
244
249
|
}
|
|
245
250
|
clearDateRange() {
|
|
@@ -251,18 +256,14 @@ var DateModule = class extends import_BaseModule.BaseModule {
|
|
|
251
256
|
cacheId: this.cacheId,
|
|
252
257
|
fatherModule: this.fatherModule,
|
|
253
258
|
store: this.store,
|
|
254
|
-
cacheKey: [
|
|
259
|
+
cacheKey: ['dateRange', 'dateList']
|
|
255
260
|
});
|
|
256
261
|
}
|
|
257
262
|
}
|
|
258
263
|
getResourcesListByDate(date) {
|
|
259
|
-
var _a;
|
|
260
264
|
const dateList = this.store.dateList;
|
|
261
|
-
const resourcesList =
|
|
265
|
+
const resourcesList = dateList?.find(item => item.date === date)?.resource || [];
|
|
262
266
|
return resourcesList;
|
|
263
267
|
}
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
0 && (module.exports = {
|
|
267
|
-
DateModule
|
|
268
|
-
});
|
|
268
|
+
}
|
|
269
|
+
exports.DateModule = DateModule;
|
|
@@ -1,30 +1,18 @@
|
|
|
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
|
-
DateHooks: () => DateHooks
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(types_exports);
|
|
25
|
-
var DateHooks = /* @__PURE__ */ ((DateHooks2) => {
|
|
26
|
-
})(DateHooks || {});
|
|
27
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
-
0 && (module.exports = {
|
|
29
|
-
DateHooks
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
30
5
|
});
|
|
6
|
+
exports.DateHooks = void 0;
|
|
7
|
+
let DateHooks = exports.DateHooks = /*#__PURE__*/function (DateHooks) {
|
|
8
|
+
return DateHooks;
|
|
9
|
+
}({});
|
|
10
|
+
/**
|
|
11
|
+
* 日期模块状态
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* 时间
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* 日期模块 API
|
|
18
|
+
*/
|