@pisell/private-materials 3.0.151 → 3.0.152

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.
Files changed (136) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +142 -142
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +12 -12
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +12 -12
  11. package/es/components/booking/components/footer/index.js +48 -33
  12. package/es/components/booking/components/footer/utils.js +35 -4
  13. package/es/components/booking/index.js +1 -1
  14. package/es/components/booking/info/index.d.ts +4 -12
  15. package/es/components/booking/info/index.js +12 -122
  16. package/es/components/booking/info/main.d.ts +12 -0
  17. package/es/components/booking/info/main.js +124 -0
  18. package/es/components/booking/info/model.js +0 -1
  19. package/es/components/booking/info/service/addTimeModal/index.js +4 -4
  20. package/es/components/booking/info/utils.d.ts +1 -0
  21. package/es/components/booking/info/utils.js +7 -0
  22. package/es/components/booking/info2/index.d.ts +12 -0
  23. package/es/components/booking/info2/index.js +216 -0
  24. package/es/components/booking/info2/serve.d.ts +6 -0
  25. package/es/components/booking/info2/serve.js +79 -0
  26. package/es/components/booking/info2/service/actions/index.d.ts +6 -0
  27. package/es/components/booking/info2/service/actions/index.js +86 -0
  28. package/es/components/booking/info2/service/addService/index.d.ts +6 -0
  29. package/es/components/booking/info2/service/addService/index.js +404 -0
  30. package/es/components/booking/info2/service/addService/mock.d.ts +214 -0
  31. package/es/components/booking/info2/service/addService/mock.js +332 -0
  32. package/es/components/booking/info2/service/addService/utils.d.ts +71 -0
  33. package/es/components/booking/info2/service/addService/utils.js +510 -0
  34. package/es/components/booking/info2/service/addTimeModal/index.d.ts +4 -0
  35. package/es/components/booking/info2/service/addTimeModal/index.js +681 -0
  36. package/es/components/booking/info2/service/addTimeModal/serve.d.ts +9 -0
  37. package/es/components/booking/info2/service/addTimeModal/serve.js +73 -0
  38. package/es/components/booking/info2/service/addTimeModal/utils.d.ts +31 -0
  39. package/es/components/booking/info2/service/addTimeModal/utils.js +176 -0
  40. package/es/components/booking/info2/service/editService/Capacity/index.d.ts +4 -0
  41. package/es/components/booking/info2/service/editService/Capacity/index.js +121 -0
  42. package/es/components/booking/info2/service/editService/Capacity/index.less +1 -0
  43. package/es/components/booking/info2/service/editService/Resources/MaxLengthSelect/index.d.ts +7 -0
  44. package/es/components/booking/info2/service/editService/Resources/MaxLengthSelect/index.js +28 -0
  45. package/es/components/booking/info2/service/editService/Resources/index.d.ts +4 -0
  46. package/es/components/booking/info2/service/editService/Resources/index.js +233 -0
  47. package/es/components/booking/info2/service/editService/Resources/index.less +21 -0
  48. package/es/components/booking/info2/service/editService/index.d.ts +7 -0
  49. package/es/components/booking/info2/service/editService/index.js +617 -0
  50. package/es/components/booking/info2/service/editService/index.less +99 -0
  51. package/es/components/booking/info2/service/editService/utils.d.ts +11 -0
  52. package/es/components/booking/info2/service/editService/utils.js +37 -0
  53. package/es/components/booking/info2/service/index.d.ts +4 -0
  54. package/es/components/booking/info2/service/index.js +55 -0
  55. package/es/components/booking/info2/service/serviceItem/index.d.ts +4 -0
  56. package/es/components/booking/info2/service/serviceItem/index.js +176 -0
  57. package/es/components/booking/info2/service/serviceItem/index.less +125 -0
  58. package/es/components/booking/info2/service/serviceList/index.d.ts +6 -0
  59. package/es/components/booking/info2/service/serviceList/index.js +106 -0
  60. package/es/components/booking/info2/service/serviceList/index.less +0 -0
  61. package/es/components/booking/info2/utilsByBooking.d.ts +34 -0
  62. package/es/components/booking/info2/utilsByBooking.js +349 -0
  63. package/es/components/booking/locales.d.ts +3 -0
  64. package/es/components/booking/locales.js +12 -3
  65. package/es/components/booking/materiels/resources/index.d.ts +2 -2
  66. package/es/components/booking/materiels/resources/index.js +11 -11
  67. package/es/components/booking/mock.d.ts +1 -0
  68. package/es/components/booking/mock.js +66 -0
  69. package/es/components/booking/notes/index.d.ts +1 -1
  70. package/es/components/index.d.ts +1 -1
  71. package/es/components/index.js +1 -1
  72. package/es/index.d.ts +1 -1
  73. package/es/index.js +1 -1
  74. package/lib/components/booking/components/footer/index.js +28 -5
  75. package/lib/components/booking/components/footer/utils.js +29 -4
  76. package/lib/components/booking/index.js +2 -2
  77. package/lib/components/booking/info/index.d.ts +4 -12
  78. package/lib/components/booking/info/index.js +14 -115
  79. package/lib/components/booking/info/main.d.ts +12 -0
  80. package/lib/components/booking/info/main.js +152 -0
  81. package/lib/components/booking/info/service/addTimeModal/index.js +1 -0
  82. package/lib/components/booking/info/utils.d.ts +1 -0
  83. package/lib/components/booking/info/utils.js +9 -0
  84. package/lib/components/booking/info2/index.d.ts +12 -0
  85. package/lib/components/booking/info2/index.js +202 -0
  86. package/lib/components/booking/info2/serve.d.ts +6 -0
  87. package/lib/components/booking/info2/serve.js +53 -0
  88. package/lib/components/booking/info2/service/actions/index.d.ts +6 -0
  89. package/lib/components/booking/info2/service/actions/index.js +102 -0
  90. package/lib/components/booking/info2/service/addService/index.d.ts +6 -0
  91. package/lib/components/booking/info2/service/addService/index.js +356 -0
  92. package/lib/components/booking/info2/service/addService/mock.d.ts +214 -0
  93. package/lib/components/booking/info2/service/addService/mock.js +398 -0
  94. package/lib/components/booking/info2/service/addService/utils.d.ts +71 -0
  95. package/lib/components/booking/info2/service/addService/utils.js +377 -0
  96. package/lib/components/booking/info2/service/addTimeModal/index.d.ts +4 -0
  97. package/lib/components/booking/info2/service/addTimeModal/index.js +558 -0
  98. package/lib/components/booking/info2/service/addTimeModal/serve.d.ts +9 -0
  99. package/lib/components/booking/info2/service/addTimeModal/serve.js +45 -0
  100. package/lib/components/booking/info2/service/addTimeModal/utils.d.ts +31 -0
  101. package/lib/components/booking/info2/service/addTimeModal/utils.js +157 -0
  102. package/lib/components/booking/info2/service/editService/Capacity/index.d.ts +4 -0
  103. package/lib/components/booking/info2/service/editService/Capacity/index.js +97 -0
  104. package/lib/components/booking/info2/service/editService/Capacity/index.less +1 -0
  105. package/lib/components/booking/info2/service/editService/Resources/MaxLengthSelect/index.d.ts +7 -0
  106. package/lib/components/booking/info2/service/editService/Resources/MaxLengthSelect/index.js +54 -0
  107. package/lib/components/booking/info2/service/editService/Resources/index.d.ts +4 -0
  108. package/lib/components/booking/info2/service/editService/Resources/index.js +212 -0
  109. package/lib/components/booking/info2/service/editService/Resources/index.less +21 -0
  110. package/lib/components/booking/info2/service/editService/index.d.ts +7 -0
  111. package/lib/components/booking/info2/service/editService/index.js +483 -0
  112. package/lib/components/booking/info2/service/editService/index.less +99 -0
  113. package/lib/components/booking/info2/service/editService/utils.d.ts +11 -0
  114. package/lib/components/booking/info2/service/editService/utils.js +0 -0
  115. package/lib/components/booking/info2/service/index.d.ts +4 -0
  116. package/lib/components/booking/info2/service/index.js +75 -0
  117. package/lib/components/booking/info2/service/serviceItem/index.d.ts +4 -0
  118. package/lib/components/booking/info2/service/serviceItem/index.js +184 -0
  119. package/lib/components/booking/info2/service/serviceItem/index.less +125 -0
  120. package/lib/components/booking/info2/service/serviceList/index.d.ts +6 -0
  121. package/lib/components/booking/info2/service/serviceList/index.js +130 -0
  122. package/lib/components/booking/info2/service/serviceList/index.less +0 -0
  123. package/lib/components/booking/info2/utilsByBooking.d.ts +34 -0
  124. package/lib/components/booking/info2/utilsByBooking.js +257 -0
  125. package/lib/components/booking/locales.d.ts +3 -0
  126. package/lib/components/booking/locales.js +6 -3
  127. package/lib/components/booking/materiels/resources/index.d.ts +2 -2
  128. package/lib/components/booking/mock.d.ts +1 -0
  129. package/lib/components/booking/mock.js +67 -2
  130. package/lib/components/booking/notes/index.d.ts +1 -1
  131. package/lib/components/eftposPay/tyro/index.js +3 -1
  132. package/lib/components/index.d.ts +1 -1
  133. package/lib/components/index.js +1 -1
  134. package/lib/index.d.ts +1 -1
  135. package/lib/index.js +1 -1
  136. package/package.json +3 -3
@@ -0,0 +1,483 @@
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 });
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);
28
+
29
+ // src/components/booking/info2/service/editService/index.tsx
30
+ var editService_exports = {};
31
+ __export(editService_exports, {
32
+ default: () => editService_default
33
+ });
34
+ module.exports = __toCommonJS(editService_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_Delete_wght300_24px = __toESM(require("@pisell/icon/es/Delete_wght300_24px"));
37
+ var import_drawer = __toESM(require("../../../components/drawer"));
38
+ var import_model = require("../../../info/model");
39
+ var import_utils = require("@pisell/utils");
40
+ var import_duration = __toESM(require("../../../materiels/duration"));
41
+ var import_Capacity = __toESM(require("./Capacity"));
42
+ var import_Resources = __toESM(require("./Resources"));
43
+ var import_antd = require("antd");
44
+ var import_index = require("./index.less");
45
+ var import_collapsibleList = __toESM(require("../../../components/collapsibleList"));
46
+ var import_utils2 = require("../../../components/collapsibleList/utils");
47
+ var import_ahooks = require("ahooks");
48
+ var import_utils3 = require("../../../utils");
49
+ var import_utilsByBooking = require("../../utilsByBooking");
50
+ var import_utils4 = require("../addService/utils");
51
+ var submitLock = false;
52
+ var Info = (_, ref) => {
53
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C;
54
+ const [form] = import_antd.Form.useForm();
55
+ const useTotal = import_antd.Form.useWatch("total", form);
56
+ const useResource = import_antd.Form.useWatch("resource", form);
57
+ const useStartTime = import_antd.Form.useWatch("start_time", form);
58
+ const useDuration = import_antd.Form.useWatch("duration", form);
59
+ const { state, dispatch } = (0, import_react.useContext)(import_model.Context);
60
+ const resourcesRef = (0, import_react.useRef)(null);
61
+ const getCurrentCacheItem = (_cacheItem) => {
62
+ let values = form.getFieldsValue();
63
+ let _item = _cacheItem || state.service.cacheItem;
64
+ return {
65
+ ..._item,
66
+ _extend: {
67
+ ..._item == null ? void 0 : _item._extend,
68
+ ...values
69
+ }
70
+ };
71
+ };
72
+ const currentResource = (0, import_react.useMemo)(() => {
73
+ return null;
74
+ }, [useResource]);
75
+ const durationProps = (0, import_react.useMemo)(() => {
76
+ var _a2, _b2, _c2;
77
+ let _cacheItem = getCurrentCacheItem();
78
+ return (0, import_utils4.getDurationProps)({
79
+ cacheItem: _cacheItem,
80
+ useStartTime,
81
+ currentResource,
82
+ slice: (_c2 = (_b2 = (_a2 = state.bookingConfig) == null ? void 0 : _a2.config) == null ? void 0 : _b2.basic) == null ? void 0 : _c2.service_time
83
+ });
84
+ }, [
85
+ currentResource,
86
+ state.service.cacheItem,
87
+ useStartTime,
88
+ useResource,
89
+ (_c = (_b = (_a = state.bookingConfig) == null ? void 0 : _a.config) == null ? void 0 : _b.basic) == null ? void 0 : _c.service_time
90
+ ]);
91
+ const flexibleOption = (0, import_react.useMemo)(() => {
92
+ return (0, import_utils4.getFlexibleOption)({
93
+ durationProps
94
+ });
95
+ }, [durationProps, import_utils.locales.locale]);
96
+ const timeObj = (0, import_react.useMemo)(() => {
97
+ var _a2, _b2;
98
+ return (_b2 = (_a2 = state.service) == null ? void 0 : _a2.cacheItem) == null ? void 0 : _b2._data.timeObj;
99
+ }, [(_e = (_d = state.service) == null ? void 0 : _d.cacheItem) == null ? void 0 : _e._data.timeObj]);
100
+ (0, import_react.useEffect)(() => {
101
+ try {
102
+ if (useDuration.indexOf("flexible_") == 0) {
103
+ if (flexibleOption) {
104
+ form.setFieldsValue({
105
+ duration: flexibleOption.value
106
+ });
107
+ }
108
+ }
109
+ } catch (err) {
110
+ }
111
+ }, [useDuration, flexibleOption]);
112
+ const handleDeleteProduct = () => {
113
+ var _a2;
114
+ if (state.channelDisabledEdit) {
115
+ return;
116
+ }
117
+ let _list = [...state.service.value];
118
+ let _id = (_a2 = state.service.cacheItem) == null ? void 0 : _a2._id;
119
+ _list = _list.filter((d) => d._id !== _id);
120
+ dispatch({
121
+ type: "setService",
122
+ payload: {
123
+ editModal: false,
124
+ value: _list,
125
+ edit: true,
126
+ cacheItem: null
127
+ }
128
+ });
129
+ };
130
+ const getDiscount = () => {
131
+ var _a2;
132
+ let oPrice = Number(((_a2 = state.service.cacheItem) == null ? void 0 : _a2._extend.origin_total) || 0);
133
+ let cPrice = Number(useTotal || 0);
134
+ let discount = "";
135
+ if (cPrice === oPrice) {
136
+ discount = import_utils.locales.getText("pisell2.text.status.no-discount");
137
+ } else {
138
+ discount = `${import_utils.locales.getText("pisell2.text.status.manual")} `;
139
+ if (cPrice < oPrice) {
140
+ discount += (0, import_utils.formatAmount)(cPrice - oPrice, 2, state.amountSymbol) + "";
141
+ } else {
142
+ discount += "+" + (0, import_utils.formatAmount)(cPrice - oPrice, 2, state.amountSymbol);
143
+ }
144
+ }
145
+ form.setFieldsValue({ discount });
146
+ };
147
+ const onFinish = (values) => {
148
+ var _a2;
149
+ let isSuccess = (_a2 = resourcesRef.current) == null ? void 0 : _a2.check();
150
+ if (!isSuccess) {
151
+ return;
152
+ }
153
+ if (submitLock) {
154
+ return;
155
+ }
156
+ submitLock = true;
157
+ setTimeout(() => {
158
+ submitLock = false;
159
+ }, 1500);
160
+ let _list = [...state.service.value];
161
+ let _item = {
162
+ ...state.service.cacheItem,
163
+ autoClose: false
164
+ };
165
+ let _extend = {
166
+ ..._item._extend,
167
+ ...values
168
+ };
169
+ const { startDate, endDate } = (0, import_utils3.getServiceTimes)({ _extend });
170
+ _extend.startDate = startDate;
171
+ _extend.endDate = endDate;
172
+ if (_extend.bundle_edit !== void 0) {
173
+ _extend.bundle_edit = 1;
174
+ }
175
+ _item._extend = _extend;
176
+ _item._time = (/* @__PURE__ */ new Date()).getTime();
177
+ let _id = _item == null ? void 0 : _item._id;
178
+ if (!_list.some((d) => d._id === _id)) {
179
+ _list.push(_item);
180
+ } else {
181
+ _list = _list.map((d) => d._id === _id ? { ..._item, new: 0 } : d);
182
+ }
183
+ (0, import_utils3.deleteCacheParams)();
184
+ console.log("_onFinish", _list);
185
+ form.resetFields();
186
+ dispatch({
187
+ type: "setService",
188
+ payload: {
189
+ editModal: false,
190
+ addModal: false,
191
+ value: _list,
192
+ edit: true,
193
+ cacheItem: null,
194
+ changeService: false
195
+ }
196
+ });
197
+ };
198
+ const setEditData = (0, import_ahooks.useMemoizedFn)((_cacheItem) => {
199
+ form.resetFields();
200
+ let cacheItem = _cacheItem || state.service.cacheItem;
201
+ let values = cacheItem._extend;
202
+ form.setFieldsValue(values);
203
+ });
204
+ const isReason = (0, import_react.useMemo)(() => {
205
+ var _a2;
206
+ let oPrice = Number(((_a2 = state.service.cacheItem) == null ? void 0 : _a2._extend.origin_total) || 0);
207
+ let cPrice = Number(useTotal || 0);
208
+ return cPrice !== oPrice;
209
+ }, [useTotal, (_g = (_f = state.service.cacheItem) == null ? void 0 : _f._extend) == null ? void 0 : _g.origin_total]);
210
+ const getResources = () => {
211
+ let res = (0, import_utils4.formatResources)({
212
+ cacheItem: getCurrentCacheItem(),
213
+ resourcesOrigin: state.service.cacheItem._data.resourcesOrigin
214
+ });
215
+ dispatch({
216
+ type: "setService",
217
+ payload: {
218
+ cacheItem: {
219
+ ...state.service.cacheItem,
220
+ _data: {
221
+ ...state.service.cacheItem._data,
222
+ resources: res.list,
223
+ resourceMaps: res.maps
224
+ }
225
+ }
226
+ }
227
+ });
228
+ updateResourceErrors(res.maps);
229
+ };
230
+ const updateResourceErrors = (resourceMaps) => {
231
+ let { resource } = form.getFieldsValue();
232
+ if (resource) {
233
+ let _resource = { ...resource };
234
+ for (let form_id in _resource) {
235
+ _resource[form_id] = _resource[form_id].map((d) => {
236
+ var _a2, _b2;
237
+ return {
238
+ ...d,
239
+ errors: (0, import_utilsByBooking.getErrorList)(
240
+ (_b2 = (_a2 = resourceMaps == null ? void 0 : resourceMaps[form_id]) == null ? void 0 : _a2.renderListMaps) == null ? void 0 : _b2[d == null ? void 0 : d.relation_id],
241
+ getCurrentCacheItem()
242
+ )
243
+ };
244
+ });
245
+ }
246
+ form.setFieldsValue({
247
+ resource: _resource
248
+ });
249
+ return _resource;
250
+ }
251
+ };
252
+ (0, import_ahooks.useUpdateEffect)(() => {
253
+ if (!state.service.cacheItem) {
254
+ return;
255
+ }
256
+ if (useStartTime && useDuration && state.renderType !== "eventBooking") {
257
+ getResources();
258
+ }
259
+ }, [
260
+ useStartTime,
261
+ useDuration,
262
+ state.renderType,
263
+ state.service.resourcesOrigin
264
+ ]);
265
+ (0, import_react.useEffect)(() => {
266
+ getDiscount();
267
+ }, [useTotal, (_i = (_h = state.service.cacheItem) == null ? void 0 : _h._extend) == null ? void 0 : _i.origin_total]);
268
+ const isDiscount = (0, import_react.useMemo)(() => {
269
+ var _a2, _b2, _c2;
270
+ if (!((_a2 = state.service) == null ? void 0 : _a2.cacheItem)) {
271
+ return false;
272
+ }
273
+ return useTotal != ((_c2 = (_b2 = state.service) == null ? void 0 : _b2.cacheItem) == null ? void 0 : _c2._extend.origin_total);
274
+ }, [useTotal, (_k = (_j = state.service) == null ? void 0 : _j.cacheItem) == null ? void 0 : _k._extend.origin_total]);
275
+ const bundles = (0, import_react.useMemo)(() => {
276
+ var _a2, _b2, _c2, _d2;
277
+ return ((_d2 = (_c2 = (_b2 = (_a2 = state.service) == null ? void 0 : _a2.cacheItem) == null ? void 0 : _b2._extend) == null ? void 0 : _c2.other) == null ? void 0 : _d2.bundle) || [];
278
+ }, [(_o = (_n = (_m = (_l = state.service) == null ? void 0 : _l.cacheItem) == null ? void 0 : _m._extend) == null ? void 0 : _n.other) == null ? void 0 : _o.bundle]);
279
+ const handleEdit = (e) => {
280
+ const item = state.service.cacheItem;
281
+ let values = form.getFieldsValue();
282
+ state.action({
283
+ type: "pisell1.handleOpenProductModal",
284
+ data: {
285
+ id: item.id,
286
+ date: state.date.value.format("YYYY-MM-DD"),
287
+ showConfig: {
288
+ option: false,
289
+ session: false,
290
+ variant: false,
291
+ package: true
292
+ },
293
+ value: item._extend.other
294
+ },
295
+ callback: (e2) => {
296
+ let cacheItem = {
297
+ ...item,
298
+ product_id: item.id,
299
+ _id: item == null ? void 0 : item._id,
300
+ _key: e2.key,
301
+ _extend: {
302
+ ...item._extend,
303
+ // 将当前表单的值覆盖进去
304
+ ...values,
305
+ // 覆盖选择的规格和套餐
306
+ other: JSON.parse(JSON.stringify(e2))
307
+ },
308
+ new: 0
309
+ };
310
+ let _total = (0, import_utils3.getProductTotalPrice)(cacheItem);
311
+ cacheItem._extend.total = _total;
312
+ cacheItem._extend.origin_total = _total;
313
+ dispatch({
314
+ type: "setService",
315
+ payload: {
316
+ cacheItem
317
+ }
318
+ });
319
+ form.setFieldsValue({
320
+ total: _total
321
+ });
322
+ }
323
+ });
324
+ };
325
+ const handleChange = (e) => {
326
+ if (state.channelDisabledEdit) {
327
+ return;
328
+ }
329
+ form.resetFields();
330
+ dispatch({
331
+ type: "setService",
332
+ payload: {
333
+ addModal: true,
334
+ editModal: false
335
+ //用于控制 添加商品 和 编辑服务弹窗的上下层级
336
+ // changeService: true,
337
+ }
338
+ });
339
+ };
340
+ (0, import_react.useImperativeHandle)(ref, () => {
341
+ return {
342
+ init: setEditData
343
+ };
344
+ });
345
+ console.log("state.service.value", state.service.value);
346
+ const SelectTime = (_p = window.BaseMaterials) == null ? void 0 : _p.SelectTime;
347
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
348
+ import_drawer.default,
349
+ {
350
+ zIndex: state.service.changeService ? 999 : 1e3,
351
+ forceRender: true,
352
+ open: state.service.editModal && !((_q = state.service.cacheItem) == null ? void 0 : _q.autoClose),
353
+ title: import_utils.locales.getText("pisell2.text.edit-service"),
354
+ onClose: () => {
355
+ dispatch({
356
+ type: "setService",
357
+ payload: {
358
+ editModal: false,
359
+ cacheItem: null,
360
+ changeService: false
361
+ }
362
+ });
363
+ }
364
+ },
365
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-service-body-edit" }, /* @__PURE__ */ import_react.default.createElement(import_antd.Form, { layout: "vertical", form, onFinish }, /* @__PURE__ */ import_react.default.createElement(import_antd.Row, { style: { width: "100%" }, gutter: [16, 0] }, /* @__PURE__ */ import_react.default.createElement(import_antd.Col, { span: 24 }, /* @__PURE__ */ import_react.default.createElement(import_antd.Form.Item, { name: "product_name" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "current-service-info" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "current-service-info-name-wrap" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "current-service-info-name" }, ((_t = (_s = (_r = state.service) == null ? void 0 : _r.cacheItem) == null ? void 0 : _s._extend) == null ? void 0 : _t.product_name) || "-"), /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { onClick: handleEdit }, import_utils.locales.getText("pisell2.text.edit")), /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { onClick: handleChange }, import_utils.locales.getText("pisell2.text.change"))), /* @__PURE__ */ import_react.default.createElement(
366
+ import_collapsibleList.default,
367
+ {
368
+ style: { marginTop: bundles.length ? "8px" : 0 },
369
+ list: bundles,
370
+ renderItem: (item) => (0, import_utils2.renderBundles)(item, state.amountSymbol)
371
+ }
372
+ )))), /* @__PURE__ */ import_react.default.createElement(import_antd.Col, { span: 12 }, /* @__PURE__ */ import_react.default.createElement(
373
+ import_antd.Form.Item,
374
+ {
375
+ label: import_utils.locales.getText("pisell2.text.price"),
376
+ name: "total",
377
+ rules: [{ required: true }]
378
+ },
379
+ /* @__PURE__ */ import_react.default.createElement(
380
+ import_antd.InputNumber,
381
+ {
382
+ disabled: state.channelDisabledEdit,
383
+ prefix: state.amountSymbol,
384
+ size: "large",
385
+ precision: 2,
386
+ style: { width: "100%" },
387
+ min: 0,
388
+ max: ((_v = (_u = state.service.cacheItem) == null ? void 0 : _u._extend) == null ? void 0 : _v.origin_total) || 0,
389
+ placeholder: ((_x = (_w = state.service.cacheItem) == null ? void 0 : _w._extend) == null ? void 0 : _x.origin_total) || "0"
390
+ }
391
+ )
392
+ )), /* @__PURE__ */ import_react.default.createElement(import_antd.Col, { span: 12 }, /* @__PURE__ */ import_react.default.createElement(
393
+ import_antd.Form.Item,
394
+ {
395
+ label: import_utils.locales.getText("pisell2.text.discount"),
396
+ name: "discount"
397
+ },
398
+ /* @__PURE__ */ import_react.default.createElement(
399
+ import_antd.Select,
400
+ {
401
+ disabled: state.channelDisabledEdit,
402
+ size: "large",
403
+ open: false,
404
+ allowClear: isDiscount,
405
+ onChange: (e) => {
406
+ form.setFieldsValue({
407
+ total: state.service.cacheItem._extend.origin_total
408
+ });
409
+ }
410
+ }
411
+ )
412
+ )), isReason ? /* @__PURE__ */ import_react.default.createElement(import_antd.Col, { span: 24 }, /* @__PURE__ */ import_react.default.createElement(
413
+ import_antd.Form.Item,
414
+ {
415
+ label: import_utils.locales.getText("pisell2.text.discount-reason"),
416
+ name: "discount_reason"
417
+ },
418
+ /* @__PURE__ */ import_react.default.createElement(import_antd.Input.TextArea, { size: "large" })
419
+ )) : null, state.renderType !== "eventBooking" && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_antd.Col, { span: 12 }, /* @__PURE__ */ import_react.default.createElement(
420
+ import_antd.Form.Item,
421
+ {
422
+ label: import_utils.locales.getText("pisell2.text.start_time"),
423
+ name: "start_time",
424
+ rules: [{ required: true }]
425
+ },
426
+ SelectTime ? /* @__PURE__ */ import_react.default.createElement(
427
+ SelectTime,
428
+ {
429
+ slice: (_B = (_A = (_z = (_y = state.bookingConfig) == null ? void 0 : _y.config) == null ? void 0 : _z.basic) == null ? void 0 : _A.service_time) == null ? void 0 : _B.value,
430
+ timePickerProps: {
431
+ style: { width: "100%" }
432
+ },
433
+ timeProps: {
434
+ style: { zoom: 0.8 }
435
+ }
436
+ }
437
+ ) : null
438
+ )), /* @__PURE__ */ import_react.default.createElement(import_antd.Col, { span: 12 }, /* @__PURE__ */ import_react.default.createElement(
439
+ import_antd.Form.Item,
440
+ {
441
+ label: import_utils.locales.getText("pisell2.text.duration"),
442
+ name: "duration",
443
+ rules: [{ required: true }]
444
+ },
445
+ /* @__PURE__ */ import_react.default.createElement(import_duration.default, { ...durationProps, timeObj })
446
+ )), /* @__PURE__ */ import_react.default.createElement(import_antd.Form.Item, { noStyle: true, name: "resource" }, /* @__PURE__ */ import_react.default.createElement(
447
+ import_Resources.default,
448
+ {
449
+ ref: resourcesRef,
450
+ state,
451
+ cacheItem: state.service.cacheItem,
452
+ getCurrentCacheItem,
453
+ useDuration,
454
+ useStartTime
455
+ }
456
+ )), /* @__PURE__ */ import_react.default.createElement(import_antd.Form.Item, { noStyle: true, name: "capacity" }, /* @__PURE__ */ import_react.default.createElement(
457
+ import_Capacity.default,
458
+ {
459
+ state,
460
+ cacheItem: state.service.cacheItem
461
+ }
462
+ )), /* @__PURE__ */ import_react.default.createElement(import_antd.Form.Item, { hidden: true, name: "quantity" }, /* @__PURE__ */ import_react.default.createElement(import_antd.InputNumber, null))))), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-service-body-edit-footer" }, /* @__PURE__ */ import_react.default.createElement(
463
+ "div",
464
+ {
465
+ className: "pisell-lowcode__booking-service-delete-wrap",
466
+ onClick: handleDeleteProduct
467
+ },
468
+ /* @__PURE__ */ import_react.default.createElement(import_Delete_wght300_24px.default, { className: "pisell-lowcode__booking-service-delete-icon" })
469
+ ), /* @__PURE__ */ import_react.default.createElement(
470
+ import_antd.Button,
471
+ {
472
+ type: "primary",
473
+ className: "pisell-lowcode__booking-service-body-edit-footer-apple",
474
+ disabled: !((_C = state.service.resourcesOrigin) == null ? void 0 : _C.length),
475
+ onClick: () => {
476
+ form.submit();
477
+ }
478
+ },
479
+ import_utils.locales.getText("pisell2.text.apply")
480
+ )))
481
+ ));
482
+ };
483
+ var editService_default = (0, import_react.forwardRef)(Info);
@@ -0,0 +1,99 @@
1
+ .pisell-lowcode__booking-service-body-edit {
2
+ padding: 24px 32px 100px !important;
3
+ }
4
+
5
+
6
+ .pisell-lowcode__booking-service-body-edit-footer {
7
+ position: absolute;
8
+ bottom: 0;
9
+ left: 0;
10
+ width: 100%;
11
+ border-top: 1px solid #E7E8E9;
12
+ padding: 20px 32px;
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ gap: 12px;
17
+ background-color: #fff;
18
+
19
+ .pisell-lowcode__booking-service-delete-wrap {
20
+ height: 48px;
21
+ width: 48px;
22
+ border-radius: 8px;
23
+ border: 1px solid var(--gray-300, #D0D5DD);
24
+ background: var(--base-white, #FFF);
25
+ box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
26
+ cursor: pointer;
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: center;
30
+
31
+ .pisell-lowcode__booking-service-delete-icon {
32
+ color: #B42318;
33
+ font-size: 20px;
34
+ }
35
+ }
36
+
37
+ .pisell-lowcode__booking-service-body-edit-footer-apple {
38
+ flex: 1;
39
+ height: 48px;
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ }
44
+ }
45
+
46
+ .pisell-lowcode-select-selection-item {
47
+ .resource-option {
48
+ padding-left: 0;
49
+
50
+ }
51
+ }
52
+
53
+ .pisell-lowcode-select-item-option-content {
54
+ .resource-option {
55
+ padding-left: 0;
56
+
57
+ }
58
+ }
59
+
60
+ .resource-option {
61
+ display: flex;
62
+ align-items: center;
63
+ gap: 8px;
64
+
65
+ .resource-option-alert-icon {
66
+ color: #B42318;
67
+ cursor: pointer;
68
+ }
69
+ }
70
+
71
+ .current-service-info {
72
+ min-height: 40px;
73
+ cursor: pointer;
74
+ background-color: #ffffff;
75
+ border: 1px solid #D0D5DD;
76
+ border-radius: 10px;
77
+ transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
78
+ overflow: hidden;
79
+ padding: 11px;
80
+
81
+ .current-service-info-name-wrap {
82
+ display: flex;
83
+ align-items: center;
84
+ gap: 12px;
85
+
86
+ .current-service-info-name {
87
+ font-size: 16px;
88
+ color: #101828;
89
+ font-weight: 650;
90
+ flex: 1;
91
+ }
92
+
93
+ .current-service-info-change-btn {}
94
+ }
95
+
96
+ &:hover {
97
+ border-color: #7f56d9;
98
+ }
99
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ 1. 在进入编辑服务前
3
+
4
+ 计算出各种需要的列表
5
+
6
+ 设置默认值
7
+
8
+ 判断是否需要进入编辑服务页
9
+ */
10
+ declare const isNewService: (service: any) => any;
11
+ declare const init: ({ cacheItem, state }: any) => any;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import '../../info/service/index.less';
3
+ declare const _default: React.MemoExoticComponent<() => React.JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,75 @@
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 });
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);
28
+
29
+ // src/components/booking/info2/service/index.tsx
30
+ var service_exports = {};
31
+ __export(service_exports, {
32
+ default: () => service_default
33
+ });
34
+ module.exports = __toCommonJS(service_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_addService = __toESM(require("./addService"));
37
+ var import_model = require("../../info/model");
38
+ var import_editService = __toESM(require("./editService"));
39
+ var import_service = require("../../info/service/index.less");
40
+ var import_serviceList = __toESM(require("./serviceList"));
41
+ var import_addTimeModal = __toESM(require("./addTimeModal"));
42
+ var Service = () => {
43
+ var _a, _b;
44
+ const { state } = (0, import_react.useContext)(import_model.Context);
45
+ const detailRef = (0, import_react.useRef)();
46
+ (0, import_react.useEffect)(() => {
47
+ document.body.id = "body";
48
+ }, []);
49
+ const appointment_card = (0, import_react.useMemo)(() => {
50
+ var _a2, _b2, _c;
51
+ return ((_c = (_b2 = (_a2 = state == null ? void 0 : state.bookingConfig) == null ? void 0 : _a2.config) == null ? void 0 : _b2.information_tab) == null ? void 0 : _c.appointment_card) || {
52
+ quick_time: 1
53
+ };
54
+ }, [(_b = (_a = state == null ? void 0 : state.bookingConfig) == null ? void 0 : _a.config) == null ? void 0 : _b.information_tab]);
55
+ const showAddTimeModal = (0, import_react.useMemo)(() => {
56
+ if ((state == null ? void 0 : state.renderType) === "eventBooking") {
57
+ return false;
58
+ }
59
+ if (state == null ? void 0 : state.disabledEdit) {
60
+ return false;
61
+ }
62
+ if (appointment_card.quick_time !== 1) {
63
+ return false;
64
+ }
65
+ return true;
66
+ }, [state, appointment_card.quick_time]);
67
+ const handleEdit = (cacheItem) => {
68
+ setTimeout(() => {
69
+ var _a2, _b2;
70
+ (_b2 = (_a2 = detailRef.current) == null ? void 0 : _a2.init) == null ? void 0 : _b2.call(_a2, cacheItem);
71
+ }, 100);
72
+ };
73
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-service-wrap" }, /* @__PURE__ */ import_react.default.createElement(import_serviceList.default, { onEdit: handleEdit }), /* @__PURE__ */ import_react.default.createElement(import_addService.default, { onEdit: handleEdit })), /* @__PURE__ */ import_react.default.createElement(import_editService.default, { ref: detailRef }), showAddTimeModal && /* @__PURE__ */ import_react.default.createElement(import_addTimeModal.default, null));
74
+ };
75
+ var service_default = import_react.default.memo(Service);
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ declare const ServiceItem: ({ d, handleEditService, state, handleLike, errorMessage, }: any) => React.JSX.Element;
4
+ export default ServiceItem;