@pisell/pisellos 1.0.1 → 1.0.3
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.
|
@@ -1999,11 +1999,15 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
1999
1999
|
// timeSlots 传进来的只是用户选中的时间片,但是实际上需要根据多个商品时间进行累加
|
|
2000
2000
|
// 假设 timeSlots.start_time 是15:40 duration 是 30min
|
|
2001
2001
|
// 第一个商品分配完以后,第二个商品分配的start_time应该是第一个商品的 end_time ,然后 end_time 应该是 start_time+duration
|
|
2002
|
-
|
|
2003
|
-
cartItems.
|
|
2002
|
+
// 判断购物车里是否有 flexible 类型的商品,如果有则不累加时间
|
|
2003
|
+
var hasFlexibleProduct = cartItems.some(function (item) {
|
|
2004
2004
|
var _item$_productOrigin3;
|
|
2005
|
+
return ((_item$_productOrigin3 = item._productOrigin) === null || _item$_productOrigin3 === void 0 || (_item$_productOrigin3 = _item$_productOrigin3.duration) === null || _item$_productOrigin3 === void 0 ? void 0 : _item$_productOrigin3.type) === 'flexible';
|
|
2006
|
+
});
|
|
2007
|
+
cartItems.forEach(function (item, index) {
|
|
2008
|
+
var _item$_productOrigin4;
|
|
2005
2009
|
var formatCapacity = formatDefaultCapacitys({
|
|
2006
|
-
capacity: (_item$
|
|
2010
|
+
capacity: (_item$_productOrigin4 = item._productOrigin) === null || _item$_productOrigin4 === void 0 ? void 0 : _item$_productOrigin4.capacity,
|
|
2007
2011
|
product_bundle: item._origin.product.product_bundle
|
|
2008
2012
|
});
|
|
2009
2013
|
var currentCapacity = getSumCapacity({
|
|
@@ -2019,17 +2023,17 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2019
2023
|
};
|
|
2020
2024
|
}
|
|
2021
2025
|
if (recordTimeSlots) {
|
|
2022
|
-
var _item$
|
|
2026
|
+
var _item$_productOrigin5, _item$_productOrigin6;
|
|
2023
2027
|
// 同一账号下,如果当前商品不是第一个,则需要根据上一个商品的 end_time 和 duration 计算出当前商品的 start_time 和 end_time
|
|
2024
2028
|
// 前提:当前资源是单个预约才需要这么做
|
|
2025
|
-
var currentResourceConfig = (_item$
|
|
2029
|
+
var currentResourceConfig = (_item$_productOrigin5 = item._productOrigin) === null || _item$_productOrigin5 === void 0 || (_item$_productOrigin5 = _item$_productOrigin5.product_resource) === null || _item$_productOrigin5 === void 0 || (_item$_productOrigin5 = _item$_productOrigin5.resources) === null || _item$_productOrigin5 === void 0 ? void 0 : _item$_productOrigin5.find(function (n) {
|
|
2026
2030
|
return n.code === resources_code;
|
|
2027
2031
|
});
|
|
2028
2032
|
// 只有 duration 类商品需要这个操作
|
|
2029
|
-
if (index !== 0 && recordTimeSlots && (currentResourceConfig === null || currentResourceConfig === void 0 ? void 0 : currentResourceConfig.type) === 'single' && (_item$
|
|
2030
|
-
var _item$
|
|
2031
|
-
var start_at = dayjs(recordTimeSlots.end_time).add(((_item$
|
|
2032
|
-
var end_at = start_at.add(((_item$
|
|
2033
|
+
if (index !== 0 && recordTimeSlots && (currentResourceConfig === null || currentResourceConfig === void 0 ? void 0 : currentResourceConfig.type) === 'single' && (_item$_productOrigin6 = item._productOrigin) !== null && _item$_productOrigin6 !== void 0 && _item$_productOrigin6.duration && !hasFlexibleProduct) {
|
|
2034
|
+
var _item$_productOrigin7, _item$_productOrigin8;
|
|
2035
|
+
var start_at = dayjs(recordTimeSlots.end_time).add(((_item$_productOrigin7 = item._productOrigin) === null || _item$_productOrigin7 === void 0 || (_item$_productOrigin7 = _item$_productOrigin7.duration) === null || _item$_productOrigin7 === void 0 ? void 0 : _item$_productOrigin7.value) || 10, 'minutes');
|
|
2036
|
+
var end_at = start_at.add(((_item$_productOrigin8 = item._productOrigin) === null || _item$_productOrigin8 === void 0 || (_item$_productOrigin8 = _item$_productOrigin8.duration) === null || _item$_productOrigin8 === void 0 ? void 0 : _item$_productOrigin8.value) || 10, 'minutes');
|
|
2033
2037
|
recordTimeSlots = {
|
|
2034
2038
|
start_time: start_at.format('HH:mm'),
|
|
2035
2039
|
end_time: end_at.format('HH:mm'),
|
|
@@ -2077,12 +2081,12 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2077
2081
|
errorList.push(item._id);
|
|
2078
2082
|
}
|
|
2079
2083
|
} else {
|
|
2080
|
-
var _item$
|
|
2084
|
+
var _item$_productOrigin9, _productResources$fin;
|
|
2081
2085
|
// 这里必须每次循环重新读,避免前一次循环操作了购物车,导致数据变更
|
|
2082
2086
|
var allCartItems = cloneDeep(_this10.store.cart.getItems());
|
|
2083
2087
|
// 如果没有传递 timeSlots,代表是第一种资源,则直接拿商品的 duration,到资源列表里找一个公共可用的
|
|
2084
2088
|
var selectedResources = [];
|
|
2085
|
-
var _resources = cloneDeep(((_item$
|
|
2089
|
+
var _resources = cloneDeep(((_item$_productOrigin9 = item._productOrigin) === null || _item$_productOrigin9 === void 0 || (_item$_productOrigin9 = _item$_productOrigin9.product_resource) === null || _item$_productOrigin9 === void 0 ? void 0 : _item$_productOrigin9.resources) || []);
|
|
2086
2090
|
var currentResourcesRenderList = [];
|
|
2087
2091
|
_resources.forEach(function (n) {
|
|
2088
2092
|
var _n$renderList;
|
|
@@ -2197,8 +2201,8 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2197
2201
|
var maxCutOffTime = undefined;
|
|
2198
2202
|
var maxCutOffTimeValue = dayjs();
|
|
2199
2203
|
cartItems.forEach(function (item) {
|
|
2200
|
-
var _item$
|
|
2201
|
-
(_item$
|
|
2204
|
+
var _item$_productOrigin10, _item$_productOrigin11, _item$_productOrigin12, _item$_productOrigin13;
|
|
2205
|
+
(_item$_productOrigin10 = item._productOrigin) === null || _item$_productOrigin10 === void 0 || (_item$_productOrigin10 = _item$_productOrigin10.product_resource) === null || _item$_productOrigin10 === void 0 || (_item$_productOrigin10 = _item$_productOrigin10.resources) === null || _item$_productOrigin10 === void 0 || _item$_productOrigin10.forEach(function (n) {
|
|
2202
2206
|
// TODO: 少了个 status 的判断
|
|
2203
2207
|
if (n.code === resources_code) {
|
|
2204
2208
|
resources.push.apply(resources, _toConsumableArray(n.renderList || []));
|
|
@@ -2211,10 +2215,10 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2211
2215
|
if (item.resource_id) {
|
|
2212
2216
|
resourceIds.push(item.resource_id);
|
|
2213
2217
|
}
|
|
2214
|
-
resourcesTypeId = item === null || item === void 0 || (_item$
|
|
2218
|
+
resourcesTypeId = item === null || item === void 0 || (_item$_productOrigin11 = item._productOrigin) === null || _item$_productOrigin11 === void 0 || (_item$_productOrigin11 = _item$_productOrigin11.product_resource) === null || _item$_productOrigin11 === void 0 || (_item$_productOrigin11 = _item$_productOrigin11.resources) === null || _item$_productOrigin11 === void 0 || (_item$_productOrigin11 = _item$_productOrigin11.find(function (n) {
|
|
2215
2219
|
return n.code === resources_code;
|
|
2216
|
-
})) === null || _item$
|
|
2217
|
-
if ((_item$
|
|
2220
|
+
})) === null || _item$_productOrigin11 === void 0 ? void 0 : _item$_productOrigin11.id;
|
|
2221
|
+
if ((_item$_productOrigin12 = item._productOrigin) !== null && _item$_productOrigin12 !== void 0 && _item$_productOrigin12.cut_off_time && ((_item$_productOrigin13 = item._productOrigin) === null || _item$_productOrigin13 === void 0 ? void 0 : _item$_productOrigin13.cut_off_time.type) === 'advance') {
|
|
2218
2222
|
var currentCutOffTime = dayjs().add(item._productOrigin.cut_off_time.unit, item._productOrigin.cut_off_time.unit_type);
|
|
2219
2223
|
if (currentCutOffTime.isAfter(maxCutOffTimeValue, 'minute')) {
|
|
2220
2224
|
maxCutOffTimeValue = currentCutOffTime;
|
|
@@ -2242,13 +2246,13 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2242
2246
|
cartItems.forEach(function (item) {
|
|
2243
2247
|
// 单个预约累加账号 多个预约取最大值
|
|
2244
2248
|
if (isSingleResource) {
|
|
2245
|
-
var _item$_productOrigin13;
|
|
2246
|
-
accountDuration += ((_item$_productOrigin13 = item._productOrigin) === null || _item$_productOrigin13 === void 0 || (_item$_productOrigin13 = _item$_productOrigin13.duration) === null || _item$_productOrigin13 === void 0 ? void 0 : _item$_productOrigin13.value) || 10;
|
|
2247
|
-
} else {
|
|
2248
2249
|
var _item$_productOrigin14;
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2250
|
+
accountDuration += ((_item$_productOrigin14 = item._productOrigin) === null || _item$_productOrigin14 === void 0 || (_item$_productOrigin14 = _item$_productOrigin14.duration) === null || _item$_productOrigin14 === void 0 ? void 0 : _item$_productOrigin14.value) || 10;
|
|
2251
|
+
} else {
|
|
2252
|
+
var _item$_productOrigin15;
|
|
2253
|
+
if (accountDuration < (((_item$_productOrigin15 = item._productOrigin) === null || _item$_productOrigin15 === void 0 || (_item$_productOrigin15 = _item$_productOrigin15.duration) === null || _item$_productOrigin15 === void 0 ? void 0 : _item$_productOrigin15.value) || 10)) {
|
|
2254
|
+
var _item$_productOrigin16;
|
|
2255
|
+
accountDuration = ((_item$_productOrigin16 = item._productOrigin) === null || _item$_productOrigin16 === void 0 || (_item$_productOrigin16 = _item$_productOrigin16.duration) === null || _item$_productOrigin16 === void 0 ? void 0 : _item$_productOrigin16.value) || 10;
|
|
2252
2256
|
}
|
|
2253
2257
|
}
|
|
2254
2258
|
});
|
|
@@ -2285,8 +2289,8 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2285
2289
|
}
|
|
2286
2290
|
var resourcesUseableMap = {};
|
|
2287
2291
|
var hasFlexibleDuration = cartItems.some(function (item) {
|
|
2288
|
-
var _item$
|
|
2289
|
-
return ((_item$
|
|
2292
|
+
var _item$_productOrigin17;
|
|
2293
|
+
return ((_item$_productOrigin17 = item._productOrigin) === null || _item$_productOrigin17 === void 0 || (_item$_productOrigin17 = _item$_productOrigin17.duration) === null || _item$_productOrigin17 === void 0 ? void 0 : _item$_productOrigin17.type) === 'flexible';
|
|
2290
2294
|
});
|
|
2291
2295
|
var operating_day_boundary = (_this$shopStore$get = this.shopStore.get('core')) === null || _this$shopStore$get === void 0 || (_this$shopStore$get = _this$shopStore$get.core) === null || _this$shopStore$get === void 0 || (_this$shopStore$get = _this$shopStore$get.operating_day_boundary) === null || _this$shopStore$get === void 0 ? void 0 : _this$shopStore$get.time;
|
|
2292
2296
|
var timeSlots = getTimeSlicesByResources({
|
|
@@ -2337,9 +2341,9 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2337
2341
|
var _newResources$;
|
|
2338
2342
|
var newResources = cloneDeep(item._origin.resources);
|
|
2339
2343
|
newResources.forEach(function (resource) {
|
|
2340
|
-
var _item$
|
|
2344
|
+
var _item$_productOrigin18;
|
|
2341
2345
|
// 如果商品配置的是灵活时长,开始时间设置为提交的时间,结束时间从资源的可用最晚时间和店铺营业结束时间里取一个最早的
|
|
2342
|
-
if (((_item$
|
|
2346
|
+
if (((_item$_productOrigin18 = item._productOrigin) === null || _item$_productOrigin18 === void 0 || (_item$_productOrigin18 = _item$_productOrigin18.duration) === null || _item$_productOrigin18 === void 0 ? void 0 : _item$_productOrigin18.type) === 'flexible') {
|
|
2343
2347
|
var _allResources$find;
|
|
2344
2348
|
item.duration = {
|
|
2345
2349
|
type: 'minutes',
|
|
@@ -2365,9 +2369,9 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2365
2369
|
}
|
|
2366
2370
|
resource.endTime = formattedEndTime.format('YYYY-MM-DD HH:mm');
|
|
2367
2371
|
} else {
|
|
2368
|
-
var _item$
|
|
2372
|
+
var _item$_productOrigin19;
|
|
2369
2373
|
resource.startTime = currentStartTime;
|
|
2370
|
-
resource.endTime = dayjs(currentStartTime).add(((_item$
|
|
2374
|
+
resource.endTime = dayjs(currentStartTime).add(((_item$_productOrigin19 = item._productOrigin) === null || _item$_productOrigin19 === void 0 || (_item$_productOrigin19 = _item$_productOrigin19.duration) === null || _item$_productOrigin19 === void 0 ? void 0 : _item$_productOrigin19.value) || 10, 'minutes').format('YYYY-MM-DD HH:mm');
|
|
2371
2375
|
}
|
|
2372
2376
|
// delete resource.times;
|
|
2373
2377
|
});
|
|
@@ -1294,6 +1294,10 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
|
|
|
1294
1294
|
const accountList = this.store.accountList.getAccounts();
|
|
1295
1295
|
const selectForCartResources = (cartItems2) => {
|
|
1296
1296
|
let recordTimeSlots = (0, import_lodash_es.cloneDeep)(timeSlots);
|
|
1297
|
+
const hasFlexibleProduct = cartItems2.some((item) => {
|
|
1298
|
+
var _a2, _b;
|
|
1299
|
+
return ((_b = (_a2 = item._productOrigin) == null ? void 0 : _a2.duration) == null ? void 0 : _b.type) === "flexible";
|
|
1300
|
+
});
|
|
1297
1301
|
cartItems2.forEach((item, index) => {
|
|
1298
1302
|
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
1299
1303
|
const formatCapacity = (0, import_resources.formatDefaultCapacitys)({
|
|
@@ -1313,7 +1317,7 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
|
|
|
1313
1317
|
const currentResourceConfig = (_d = (_c = (_b = item._productOrigin) == null ? void 0 : _b.product_resource) == null ? void 0 : _c.resources) == null ? void 0 : _d.find(
|
|
1314
1318
|
(n) => n.code === resources_code
|
|
1315
1319
|
);
|
|
1316
|
-
if (index !== 0 && recordTimeSlots && (currentResourceConfig == null ? void 0 : currentResourceConfig.type) === "single" && ((_e = item._productOrigin) == null ? void 0 : _e.duration)) {
|
|
1320
|
+
if (index !== 0 && recordTimeSlots && (currentResourceConfig == null ? void 0 : currentResourceConfig.type) === "single" && ((_e = item._productOrigin) == null ? void 0 : _e.duration) && !hasFlexibleProduct) {
|
|
1317
1321
|
let start_at = (0, import_dayjs.default)(recordTimeSlots.end_time).add(
|
|
1318
1322
|
((_g = (_f = item._productOrigin) == null ? void 0 : _f.duration) == null ? void 0 : _g.value) || 10,
|
|
1319
1323
|
"minutes"
|