@pisell/private-materials 3.0.62 → 3.0.63
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/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/preview.js +8 -8
- package/build/lowcode/render/default/view.js +8 -8
- package/build/lowcode/view.js +6 -6
- package/es/components/booking/addons/index.d.ts +1 -1
- package/es/components/booking/addons/model.d.ts +1 -2
- package/es/components/booking/forms/forms.d.ts +1 -1
- package/es/components/booking/forms/index.d.ts +1 -1
- package/es/components/booking/forms/model.d.ts +1 -2
- package/es/components/booking/index.d.ts +1 -1
- package/es/components/booking/info/index.d.ts +1 -1
- package/es/components/booking/info/model.d.ts +1 -2
- package/es/components/booking/info/service/addService/index.js +22 -57
- package/es/components/booking/info/service/addService/utils.d.ts +61 -0
- package/es/components/booking/info/service/addService/utils.js +256 -0
- package/es/components/booking/info/service/editService/index.js +109 -139
- package/es/components/booking/model.d.ts +2 -2
- package/es/components/booking/notes/index.d.ts +1 -1
- package/es/components/booking/notes/model.d.ts +1 -2
- package/es/components/booking/payments/index.d.ts +1 -1
- package/es/components/booking/payments/model.d.ts +1 -2
- package/es/components/schedules/index.d.ts +1 -1
- package/es/components/schedules/model.d.ts +1 -2
- package/lib/components/booking/addons/index.d.ts +1 -1
- package/lib/components/booking/addons/model.d.ts +1 -2
- package/lib/components/booking/forms/forms.d.ts +1 -1
- package/lib/components/booking/forms/index.d.ts +1 -1
- package/lib/components/booking/forms/model.d.ts +1 -2
- package/lib/components/booking/index.d.ts +1 -1
- package/lib/components/booking/info/index.d.ts +1 -1
- package/lib/components/booking/info/model.d.ts +1 -2
- package/lib/components/booking/info/service/addService/index.js +18 -28
- package/lib/components/booking/info/service/addService/utils.d.ts +61 -0
- package/lib/components/booking/info/service/addService/utils.js +211 -0
- package/lib/components/booking/info/service/editService/index.js +68 -99
- package/lib/components/booking/model.d.ts +2 -2
- package/lib/components/booking/notes/index.d.ts +1 -1
- package/lib/components/booking/notes/model.d.ts +1 -2
- package/lib/components/booking/payments/index.d.ts +1 -1
- package/lib/components/booking/payments/model.d.ts +1 -2
- package/lib/components/schedules/index.d.ts +1 -1
- package/lib/components/schedules/model.d.ts +1 -2
- package/package.json +2 -2
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { FormState } from "../model";
|
|
3
|
-
export declare const Provider: (ComponentUi: any) => (props: any) =>
|
|
2
|
+
export declare const Provider: (ComponentUi: any) => (props: any) => JSX.Element, Context: import("react").Context<{
|
|
4
3
|
state: FormState;
|
|
5
4
|
} & {
|
|
6
5
|
dispatch: (params: {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { FormState } from "../model";
|
|
3
|
-
export declare const Provider: (ComponentUi: any) => (props: any) =>
|
|
2
|
+
export declare const Provider: (ComponentUi: any) => (props: any) => JSX.Element, Context: import("react").Context<{
|
|
4
3
|
state: FormState;
|
|
5
4
|
} & {
|
|
6
5
|
dispatch: (params: {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const Booking: (props: any) =>
|
|
1
|
+
declare const Booking: (props: any) => JSX.Element;
|
|
2
2
|
export default Booking;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { FormState } from "../model";
|
|
3
2
|
export declare const walkInData: {
|
|
4
3
|
id: number;
|
|
5
4
|
nickname: string;
|
|
6
5
|
};
|
|
7
|
-
export declare const Provider: (ComponentUi: any) => (props: any) =>
|
|
6
|
+
export declare const Provider: (ComponentUi: any) => (props: any) => JSX.Element, Context: import("react").Context<{
|
|
8
7
|
state: FormState;
|
|
9
8
|
} & {
|
|
10
9
|
dispatch: (params: {
|
|
@@ -28,18 +28,13 @@ import "./index.less";
|
|
|
28
28
|
import useEngineContext from "../../../../../hooks/useEngineContext";
|
|
29
29
|
import { getProductDetail } from "../serve";
|
|
30
30
|
import { getIsBundleOrCombination } from "../../utils";
|
|
31
|
-
import {
|
|
31
|
+
import { getProductExtend } from "./utils";
|
|
32
|
+
import { formatProductListByCategory, getProductTotalPrice, request } from "../../../utils";
|
|
32
33
|
import { locales, getUniqueId } from "@pisell/utils";
|
|
33
34
|
import { useUpdateEffect } from "ahooks";
|
|
34
35
|
var shopList = [2886, 4422, 5538, 6930, 6814, 6813, 6812, 6087, 6303];
|
|
35
|
-
var getCacheResourceId = function getCacheResourceId() {
|
|
36
|
-
var serviceParams = getCacheParams();
|
|
37
|
-
var resId = Number(serviceParams === null || serviceParams === void 0 ? void 0 : serviceParams.resource_id);
|
|
38
|
-
console.log("resIdresIdresId", resId);
|
|
39
|
-
return resId;
|
|
40
|
-
};
|
|
41
36
|
var Info = function Info() {
|
|
42
|
-
var _state$
|
|
37
|
+
var _state$service3, _state$service4, _state$service4$cache;
|
|
43
38
|
var _useState = useState(""),
|
|
44
39
|
_useState2 = _slicedToArray(_useState, 2),
|
|
45
40
|
search = _useState2[0],
|
|
@@ -147,43 +142,15 @@ var Info = function Info() {
|
|
|
147
142
|
return _ref.apply(this, arguments);
|
|
148
143
|
};
|
|
149
144
|
}();
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* @title: 如果选择了资源, 则直接添加商品
|
|
153
|
-
* @description:
|
|
154
|
-
* @param {any} cacheItem
|
|
155
|
-
* @return {*}
|
|
156
|
-
* @Author: zhiwei.Wang
|
|
157
|
-
* @Date: 2024-05-14 14:02
|
|
158
|
-
*/
|
|
159
|
-
var autoAddProduct = /*#__PURE__*/function () {
|
|
160
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(cacheItem) {
|
|
161
|
-
var resId, _cacheItem;
|
|
162
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
163
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
164
|
-
case 0:
|
|
165
|
-
resId = getCacheResourceId();
|
|
166
|
-
_cacheItem = _objectSpread({}, cacheItem);
|
|
167
|
-
deleteCacheParams();
|
|
168
|
-
case 3:
|
|
169
|
-
case "end":
|
|
170
|
-
return _context2.stop();
|
|
171
|
-
}
|
|
172
|
-
}, _callee2);
|
|
173
|
-
}));
|
|
174
|
-
return function autoAddProduct(_x3) {
|
|
175
|
-
return _ref2.apply(this, arguments);
|
|
176
|
-
};
|
|
177
|
-
}();
|
|
178
145
|
var getServices = /*#__PURE__*/function () {
|
|
179
|
-
var
|
|
146
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
180
147
|
var _state$eventOtherPara;
|
|
181
148
|
var data;
|
|
182
|
-
return _regeneratorRuntime().wrap(function
|
|
183
|
-
while (1) switch (
|
|
149
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
150
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
184
151
|
case 0:
|
|
185
152
|
setLoading(true);
|
|
186
|
-
|
|
153
|
+
_context2.next = 3;
|
|
187
154
|
return state.apis.getServices({
|
|
188
155
|
skip: 1,
|
|
189
156
|
num: 500,
|
|
@@ -198,7 +165,7 @@ var Info = function Info() {
|
|
|
198
165
|
}
|
|
199
166
|
});
|
|
200
167
|
case 3:
|
|
201
|
-
data =
|
|
168
|
+
data = _context2.sent;
|
|
202
169
|
setLoading(false);
|
|
203
170
|
|
|
204
171
|
// 只有自动获取列表的时候才设置商品, 手动点击添加按钮的时候不设置
|
|
@@ -213,12 +180,12 @@ var Info = function Info() {
|
|
|
213
180
|
});
|
|
214
181
|
case 7:
|
|
215
182
|
case "end":
|
|
216
|
-
return
|
|
183
|
+
return _context2.stop();
|
|
217
184
|
}
|
|
218
|
-
},
|
|
185
|
+
}, _callee2);
|
|
219
186
|
}));
|
|
220
187
|
return function getServices() {
|
|
221
|
-
return
|
|
188
|
+
return _ref2.apply(this, arguments);
|
|
222
189
|
};
|
|
223
190
|
}();
|
|
224
191
|
var handleSelectService = function handleSelectService() {
|
|
@@ -252,6 +219,7 @@ var Info = function Info() {
|
|
|
252
219
|
is_eject: isEject ? 1 : 0
|
|
253
220
|
},
|
|
254
221
|
callback: function callback(e) {
|
|
222
|
+
var _state$service;
|
|
255
223
|
var cacheItem = _objectSpread(_objectSpread({}, item), {}, {
|
|
256
224
|
product_id: item.id,
|
|
257
225
|
_id: getUniqueId(),
|
|
@@ -276,15 +244,11 @@ var Info = function Info() {
|
|
|
276
244
|
cacheItem._id = (_state$service$cacheI = state.service.cacheItem) === null || _state$service$cacheI === void 0 ? void 0 : _state$service$cacheI._id;
|
|
277
245
|
cacheItem.new = 0;
|
|
278
246
|
}
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
// return;
|
|
285
|
-
// }
|
|
286
|
-
var resId = getCacheResourceId();
|
|
287
|
-
cacheItem.autoClose = !!resId;
|
|
247
|
+
cacheItem._extend = getProductExtend({
|
|
248
|
+
cacheItem: cacheItem,
|
|
249
|
+
state: state
|
|
250
|
+
});
|
|
251
|
+
cacheItem.autoClose = cacheItem._extend.resource || cacheItem._extend.resource === 0 || (((_state$service = state.service) === null || _state$service === void 0 ? void 0 : _state$service.resourcesOrigin) || []).length === 1;
|
|
288
252
|
dispatch({
|
|
289
253
|
type: "setService",
|
|
290
254
|
payload: {
|
|
@@ -296,16 +260,17 @@ var Info = function Info() {
|
|
|
296
260
|
}
|
|
297
261
|
});
|
|
298
262
|
};
|
|
263
|
+
console.log("state.service.cacheItem", state.service.cacheItem);
|
|
299
264
|
var renderList = useMemo(function () {
|
|
300
|
-
var _state$
|
|
301
|
-
var _list = ((_state$
|
|
265
|
+
var _state$service2;
|
|
266
|
+
var _list = ((_state$service2 = state.service) === null || _state$service2 === void 0 ? void 0 : _state$service2.services) || [];
|
|
302
267
|
var isIncludes = function isIncludes(str) {
|
|
303
268
|
return str.toLowerCase().indexOf(search.toLowerCase()) !== -1;
|
|
304
269
|
};
|
|
305
270
|
return formatProductListByCategory(_list, search ? function (item) {
|
|
306
271
|
return isIncludes(item.title);
|
|
307
272
|
} : undefined);
|
|
308
|
-
}, [search, (_state$
|
|
273
|
+
}, [search, (_state$service3 = state.service) === null || _state$service3 === void 0 ? void 0 : _state$service3.services]);
|
|
309
274
|
var isService = useMemo(function () {
|
|
310
275
|
return state.service.value.length > 0;
|
|
311
276
|
}, [state.service.value]);
|
|
@@ -360,7 +325,7 @@ var Info = function Info() {
|
|
|
360
325
|
}
|
|
361
326
|
});
|
|
362
327
|
}, [state.renderType, showAddButton, isService, state.service.value, loading]);
|
|
363
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, ((_state$
|
|
328
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, ((_state$service4 = state.service) === null || _state$service4 === void 0 ? void 0 : (_state$service4$cache = _state$service4.cacheItem) === null || _state$service4$cache === void 0 ? void 0 : _state$service4$cache.autoClose) && /*#__PURE__*/React.createElement(Skeleton, {
|
|
364
329
|
loading: true,
|
|
365
330
|
active: true,
|
|
366
331
|
round: true
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import dayjs from "dayjs";
|
|
2
|
+
export declare const getDurationProps: ({ cacheItem, useStartTime, currentResource, slice, }: any) => {
|
|
3
|
+
startDate: dayjs.Dayjs;
|
|
4
|
+
usableTime: any;
|
|
5
|
+
duration: string | number | {
|
|
6
|
+
type: string;
|
|
7
|
+
value: number;
|
|
8
|
+
};
|
|
9
|
+
locale: string;
|
|
10
|
+
slice: any;
|
|
11
|
+
selectProps: {
|
|
12
|
+
size: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* @title: 灵活时长选项
|
|
17
|
+
* @description:
|
|
18
|
+
* @param {*} useMemo
|
|
19
|
+
* @return {*}
|
|
20
|
+
* @Author: zhiwei.Wang
|
|
21
|
+
* @Date: 2024-02-23 10:10
|
|
22
|
+
*/
|
|
23
|
+
export declare const getFlexibleOption: ({ cacheItem, useStartTime, currentResource, slice, durationProps, }: any) => {
|
|
24
|
+
label: any;
|
|
25
|
+
value: any;
|
|
26
|
+
} | null;
|
|
27
|
+
/**
|
|
28
|
+
* @title: 时间切片
|
|
29
|
+
* @description:
|
|
30
|
+
* @return {*}
|
|
31
|
+
* @Author: zhiwei.Wang
|
|
32
|
+
* @Date: 2024-01-09 13:37
|
|
33
|
+
*/
|
|
34
|
+
export declare const getTimeObj: ({ cacheItem, useStartTime, currentResource, state, useDuration, durationProps, }: any) => {
|
|
35
|
+
timeSlices: {
|
|
36
|
+
label: string;
|
|
37
|
+
value: string;
|
|
38
|
+
}[];
|
|
39
|
+
durationSlicesBasedOnTime: {
|
|
40
|
+
label: string;
|
|
41
|
+
value: number;
|
|
42
|
+
}[];
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* @title: 获取资源列表
|
|
46
|
+
* @description:
|
|
47
|
+
* @return {*}
|
|
48
|
+
* @Author: zhiwei.Wang
|
|
49
|
+
* @Date: 2024-01-09 13:38
|
|
50
|
+
*/
|
|
51
|
+
export declare const formatResources: ({ cacheItem, resourcesOrigin }: any) => any[];
|
|
52
|
+
export declare const checkCacheItemResource: ({ cacheItem, resources }: any) => any;
|
|
53
|
+
/**
|
|
54
|
+
* @title: 预生成服务的 extend
|
|
55
|
+
* @description:
|
|
56
|
+
* @param {any} param1
|
|
57
|
+
* @return {*}
|
|
58
|
+
* @Author: zhiwei.Wang
|
|
59
|
+
* @Date: 2024-06-01 13:25
|
|
60
|
+
*/
|
|
61
|
+
export declare const getProductExtend: ({ cacheItem, state }: any) => any;
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
8
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
11
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
12
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
+
import React from "react";
|
|
14
|
+
import { getServeStartTime, getDuration, getEndDate, flexibleObj, sliceDayIntoFiveMinutes, getDiscountTime, getServerItemExtend, formatResource } from "../../../utils";
|
|
15
|
+
import dayjs from "dayjs";
|
|
16
|
+
import { locales } from "@pisell/utils";
|
|
17
|
+
import AlertTriangle from "@pisell/icon/es/AlertTriangle";
|
|
18
|
+
export var getDurationProps = function getDurationProps(_ref) {
|
|
19
|
+
var _currentResource$_ext;
|
|
20
|
+
var cacheItem = _ref.cacheItem,
|
|
21
|
+
useStartTime = _ref.useStartTime,
|
|
22
|
+
currentResource = _ref.currentResource,
|
|
23
|
+
slice = _ref.slice;
|
|
24
|
+
var _cacheItem = cacheItem;
|
|
25
|
+
return {
|
|
26
|
+
startDate: dayjs(dayjs(_cacheItem._extend.start_date).format("YYYY-MM-DD ") + (getServeStartTime(useStartTime) || "00:00")),
|
|
27
|
+
usableTime: currentResource === null || currentResource === void 0 ? void 0 : (_currentResource$_ext = currentResource._extend) === null || _currentResource$_ext === void 0 ? void 0 : _currentResource$_ext.usableTime,
|
|
28
|
+
duration: getDuration(_cacheItem === null || _cacheItem === void 0 ? void 0 : _cacheItem.duration),
|
|
29
|
+
locale: locales.locale,
|
|
30
|
+
slice: slice,
|
|
31
|
+
selectProps: {
|
|
32
|
+
size: "large"
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @title: 灵活时长选项
|
|
39
|
+
* @description:
|
|
40
|
+
* @param {*} useMemo
|
|
41
|
+
* @return {*}
|
|
42
|
+
* @Author: zhiwei.Wang
|
|
43
|
+
* @Date: 2024-02-23 10:10
|
|
44
|
+
*/
|
|
45
|
+
export var getFlexibleOption = function getFlexibleOption(_ref2) {
|
|
46
|
+
var cacheItem = _ref2.cacheItem,
|
|
47
|
+
useStartTime = _ref2.useStartTime,
|
|
48
|
+
currentResource = _ref2.currentResource,
|
|
49
|
+
slice = _ref2.slice,
|
|
50
|
+
durationProps = _ref2.durationProps;
|
|
51
|
+
var _durationProps = durationProps || getDurationProps({
|
|
52
|
+
cacheItem: cacheItem,
|
|
53
|
+
useStartTime: useStartTime,
|
|
54
|
+
currentResource: currentResource,
|
|
55
|
+
slice: slice
|
|
56
|
+
});
|
|
57
|
+
var _duration = _durationProps.duration;
|
|
58
|
+
if (_duration === "flexible") {
|
|
59
|
+
var _durationProps$usable, _durationProps$usable2;
|
|
60
|
+
// 获取结束时间
|
|
61
|
+
var endDate = getEndDate(_durationProps.startDate, _duration, (_durationProps$usable = _durationProps.usableTime) !== null && _durationProps$usable !== void 0 && _durationProps$usable.end_at ? dayjs((_durationProps$usable2 = _durationProps.usableTime) === null || _durationProps$usable2 === void 0 ? void 0 : _durationProps$usable2.end_at) : null);
|
|
62
|
+
// 转换为分钟
|
|
63
|
+
var timeValue = endDate.diff(_durationProps.startDate, "minute");
|
|
64
|
+
return {
|
|
65
|
+
label: locales.getText("pisell2.text.flexible"),
|
|
66
|
+
value: flexibleObj.create(timeValue)
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* @title: 时间切片
|
|
74
|
+
* @description:
|
|
75
|
+
* @return {*}
|
|
76
|
+
* @Author: zhiwei.Wang
|
|
77
|
+
* @Date: 2024-01-09 13:37
|
|
78
|
+
*/
|
|
79
|
+
export var getTimeObj = function getTimeObj(_ref3) {
|
|
80
|
+
var _state$bookingConfig, _state$bookingConfig$, _state$bookingConfig$2;
|
|
81
|
+
var cacheItem = _ref3.cacheItem,
|
|
82
|
+
useStartTime = _ref3.useStartTime,
|
|
83
|
+
currentResource = _ref3.currentResource,
|
|
84
|
+
state = _ref3.state,
|
|
85
|
+
useDuration = _ref3.useDuration,
|
|
86
|
+
durationProps = _ref3.durationProps;
|
|
87
|
+
var flexibleOption = getFlexibleOption({
|
|
88
|
+
cacheItem: cacheItem,
|
|
89
|
+
useStartTime: useStartTime,
|
|
90
|
+
currentResource: currentResource,
|
|
91
|
+
state: state,
|
|
92
|
+
durationProps: durationProps
|
|
93
|
+
});
|
|
94
|
+
var obj = sliceDayIntoFiveMinutes((_state$bookingConfig = state.bookingConfig) === null || _state$bookingConfig === void 0 ? void 0 : (_state$bookingConfig$ = _state$bookingConfig.config) === null || _state$bookingConfig$ === void 0 ? void 0 : (_state$bookingConfig$2 = _state$bookingConfig$.basic) === null || _state$bookingConfig$2 === void 0 ? void 0 : _state$bookingConfig$2.service_time, locales.locale);
|
|
95
|
+
var timeSlices = _toConsumableArray(obj.timeSlices);
|
|
96
|
+
var durationSlicesBasedOnTime = _toConsumableArray(obj.durationSlicesBasedOnTime);
|
|
97
|
+
|
|
98
|
+
// 如果商品是灵活时长, 则增加灵活的选项
|
|
99
|
+
if (flexibleOption) {
|
|
100
|
+
durationSlicesBasedOnTime.unshift(flexibleOption);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// 如果当前设置的时长没有在列表内, 则在列表的最上面添加此项
|
|
104
|
+
if (useDuration && !durationSlicesBasedOnTime.some(function (d) {
|
|
105
|
+
return d.value === useDuration;
|
|
106
|
+
})) {
|
|
107
|
+
durationSlicesBasedOnTime.unshift({
|
|
108
|
+
label: getDiscountTime(useDuration),
|
|
109
|
+
value: useDuration,
|
|
110
|
+
//@ts-ignore
|
|
111
|
+
disabled: true
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
// 如果有选择时间, 但是不在列表内 则需要在列表内添加上此值
|
|
115
|
+
if (useStartTime && useStartTime !== "now" && !timeSlices.some(function (d) {
|
|
116
|
+
return d.value === useStartTime;
|
|
117
|
+
})) {
|
|
118
|
+
timeSlices.unshift({
|
|
119
|
+
label: dayjs(useStartTime, "HH:mm").format("hh:mm A"),
|
|
120
|
+
value: useStartTime
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// 增加当前
|
|
125
|
+
timeSlices.unshift({
|
|
126
|
+
label: locales.getText("pisell2.text.now"),
|
|
127
|
+
value: "now"
|
|
128
|
+
});
|
|
129
|
+
return _objectSpread(_objectSpread({}, obj), {}, {
|
|
130
|
+
timeSlices: timeSlices,
|
|
131
|
+
durationSlicesBasedOnTime: durationSlicesBasedOnTime
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* @title: 获取资源列表
|
|
137
|
+
* @description:
|
|
138
|
+
* @return {*}
|
|
139
|
+
* @Author: zhiwei.Wang
|
|
140
|
+
* @Date: 2024-01-09 13:38
|
|
141
|
+
*/
|
|
142
|
+
export var formatResources = function formatResources(_ref4) {
|
|
143
|
+
var cacheItem = _ref4.cacheItem,
|
|
144
|
+
resourcesOrigin = _ref4.resourcesOrigin;
|
|
145
|
+
try {
|
|
146
|
+
// 合并无资源
|
|
147
|
+
var _list = _toConsumableArray(resourcesOrigin);
|
|
148
|
+
var _cacheItem = cacheItem;
|
|
149
|
+
// 格式化, 添加自定义参数
|
|
150
|
+
_list = _list.map(function (d) {
|
|
151
|
+
return formatResource(d, _cacheItem, function (item) {
|
|
152
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
153
|
+
className: "resource-option"
|
|
154
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
155
|
+
className: "like-wrap"
|
|
156
|
+
}), item.labelText, !item.usable && /*#__PURE__*/React.createElement(AlertTriangle, {
|
|
157
|
+
className: "resource-option-alert-icon"
|
|
158
|
+
}));
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
// 排序, 将可用资源放在最前面
|
|
162
|
+
_list = _list.sort(function (a, b) {
|
|
163
|
+
return b.usable ? 1 : -1;
|
|
164
|
+
});
|
|
165
|
+
return _list;
|
|
166
|
+
} catch (err) {
|
|
167
|
+
console.log("formatResourcesErr", err);
|
|
168
|
+
}
|
|
169
|
+
return [];
|
|
170
|
+
};
|
|
171
|
+
export var checkCacheItemResource = function checkCacheItemResource(_ref5) {
|
|
172
|
+
var cacheItem = _ref5.cacheItem,
|
|
173
|
+
resources = _ref5.resources;
|
|
174
|
+
var resourceId = cacheItem._extend.resource;
|
|
175
|
+
if (resourceId || resourceId === 0) {
|
|
176
|
+
// 校验, 如果当前选择的资源 在列表里没找到, 则恢复成无资源, 防止数据错乱
|
|
177
|
+
if (!resources.find(function (d) {
|
|
178
|
+
return d.form_record_id === resourceId;
|
|
179
|
+
})) {
|
|
180
|
+
resourceId = undefined;
|
|
181
|
+
}
|
|
182
|
+
} else {
|
|
183
|
+
if (cacheItem.new) {
|
|
184
|
+
if (resources.length === 2) {
|
|
185
|
+
resourceId = resources[1].form_record_id;
|
|
186
|
+
}
|
|
187
|
+
if (resources.length > 2) {
|
|
188
|
+
var usableList = resources.filter(function (d) {
|
|
189
|
+
return d.usable && d.form_id !== 0;
|
|
190
|
+
});
|
|
191
|
+
if (usableList.length === 1) {
|
|
192
|
+
resourceId = usableList[0].form_record_id;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return resourceId;
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* @title: 预生成服务的 extend
|
|
202
|
+
* @description:
|
|
203
|
+
* @param {any} param1
|
|
204
|
+
* @return {*}
|
|
205
|
+
* @Author: zhiwei.Wang
|
|
206
|
+
* @Date: 2024-06-01 13:25
|
|
207
|
+
*/
|
|
208
|
+
export var getProductExtend = function getProductExtend(_ref6) {
|
|
209
|
+
var cacheItem = _ref6.cacheItem,
|
|
210
|
+
state = _ref6.state;
|
|
211
|
+
// 获取资源源列表
|
|
212
|
+
var resourcesOrigin = state.service.resourcesOrigin || [];
|
|
213
|
+
var currentResource = null;
|
|
214
|
+
|
|
215
|
+
// 编辑时,找到当前选择的资源
|
|
216
|
+
if (!cacheItem.new) {
|
|
217
|
+
// 格式化资源列表
|
|
218
|
+
var _resources = formatResources({
|
|
219
|
+
cacheItem: cacheItem,
|
|
220
|
+
resourcesOrigin: resourcesOrigin
|
|
221
|
+
});
|
|
222
|
+
var item = _resources.find(function (d) {
|
|
223
|
+
return d.form_record_id == cacheItem._extend.resource;
|
|
224
|
+
}) || {};
|
|
225
|
+
if (item) {
|
|
226
|
+
currentResource = item;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// 时间切片
|
|
231
|
+
var timeObj = getTimeObj({
|
|
232
|
+
cacheItem: cacheItem,
|
|
233
|
+
currentResource: currentResource,
|
|
234
|
+
state: state
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
// 生成数据
|
|
238
|
+
var _extend = getServerItemExtend(state, cacheItem, timeObj);
|
|
239
|
+
|
|
240
|
+
// 格式化资源列表
|
|
241
|
+
var resources = formatResources({
|
|
242
|
+
cacheItem: _objectSpread(_objectSpread({}, cacheItem), {}, {
|
|
243
|
+
_extend: _extend
|
|
244
|
+
}),
|
|
245
|
+
resourcesOrigin: resourcesOrigin
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
// 最终根据资源列表 决定是否设置默认的资源
|
|
249
|
+
_extend.resource = checkCacheItemResource({
|
|
250
|
+
cacheItem: _objectSpread(_objectSpread({}, cacheItem), {}, {
|
|
251
|
+
_extend: _extend
|
|
252
|
+
}),
|
|
253
|
+
resources: resources
|
|
254
|
+
});
|
|
255
|
+
return _extend;
|
|
256
|
+
};
|