@pisell/private-materials 3.0.127 → 3.0.128

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 (42) 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/meta.js +1 -1
  5. package/build/lowcode/preview.js +2 -2
  6. package/build/lowcode/render/default/view.js +8 -8
  7. package/build/lowcode/view.js +4 -4
  8. package/es/components/booking/components/TabProduct/index.js +63 -60
  9. package/es/components/booking/components/customSelect/index.d.ts +1 -1
  10. package/es/components/booking/forms/forms.d.ts +2 -2
  11. package/es/components/booking/forms/forms.js +61 -58
  12. package/es/components/booking/info/client/index.d.ts +4 -4
  13. package/es/components/booking/info/client/index.js +94 -90
  14. package/es/components/booking/info/clientVariant/vertical/index.js +5 -4
  15. package/es/components/booking/info/index.js +1 -1
  16. package/es/components/booking/info/pet/index.d.ts +3 -3
  17. package/es/components/booking/info/pet/index.js +135 -131
  18. package/es/components/booking/info/service/addService/index.js +47 -45
  19. package/es/components/booking/info/service/addTimeModal/index.d.ts +2 -2
  20. package/es/components/booking/info/service/addTimeModal/index.js +218 -225
  21. package/es/components/booking/info/service/editService/index.js +194 -192
  22. package/es/components/booking/info/service/index.d.ts +2 -2
  23. package/es/components/booking/info/service/index.js +1 -1
  24. package/es/components/eftposPay/store/index.d.ts +4 -4
  25. package/lib/components/booking/components/TabProduct/index.js +61 -58
  26. package/lib/components/booking/components/customSelect/index.d.ts +1 -1
  27. package/lib/components/booking/forms/forms.d.ts +2 -2
  28. package/lib/components/booking/forms/forms.js +90 -75
  29. package/lib/components/booking/info/client/index.d.ts +4 -4
  30. package/lib/components/booking/info/client/index.js +59 -48
  31. package/lib/components/booking/info/clientVariant/vertical/index.js +5 -4
  32. package/lib/components/booking/info/index.js +1 -1
  33. package/lib/components/booking/info/pet/index.d.ts +3 -3
  34. package/lib/components/booking/info/pet/index.js +113 -84
  35. package/lib/components/booking/info/service/addService/index.js +112 -99
  36. package/lib/components/booking/info/service/addTimeModal/index.d.ts +2 -2
  37. package/lib/components/booking/info/service/addTimeModal/index.js +154 -127
  38. package/lib/components/booking/info/service/editService/index.js +196 -171
  39. package/lib/components/booking/info/service/index.d.ts +2 -2
  40. package/lib/components/booking/info/service/index.js +1 -1
  41. package/lib/components/eftposPay/store/index.d.ts +4 -4
  42. package/package.json +4 -4
@@ -31,7 +31,7 @@ interface CustomSelectProps {
31
31
  closeCallback?: () => any;
32
32
  autoFocus?: boolean;
33
33
  showDropDown?: boolean;
34
- handleOpenModal: () => void;
34
+ handleOpenModal?: () => void;
35
35
  }
36
36
  declare const _default: React.ForwardRefExoticComponent<CustomSelectProps & React.RefAttributes<unknown>>;
37
37
  export default _default;
@@ -1,4 +1,4 @@
1
- import "./index.less";
1
+ import './index.less';
2
2
  export interface InfoProps {
3
3
  forms: any[];
4
4
  value: any;
@@ -21,5 +21,5 @@ export interface InfoProps {
21
21
  * @Author: zhiwei.Wang
22
22
  * @Date: 2024-01-30 17:10
23
23
  */
24
- declare const Forms: (props: any) => any;
24
+ declare const Forms: any;
25
25
  export default Forms;
@@ -39,6 +39,7 @@ var import_utils = require("@pisell/utils");
39
39
  var import_format = require("./format");
40
40
  var import_utils2 = require("../utils");
41
41
  var import_index = require("./index.less");
42
+ var import_ahooks = require("ahooks");
42
43
  var Forms = (0, import_model.Provider)((props) => {
43
44
  const {
44
45
  forms,
@@ -54,31 +55,33 @@ var Forms = (0, import_model.Provider)((props) => {
54
55
  loading,
55
56
  addButtonProps
56
57
  } = props;
57
- const onAction = async (formDataConfig, isAdd) => {
58
- let _data = {
59
- formDataConfig: { ...formDataConfig }
60
- };
61
- if (formDataConfig.data_range === "customer" && !(0, import_utils2.isWalkIn)(client == null ? void 0 : client.id)) {
62
- _data.customerId = client.id;
63
- }
64
- action({
65
- type: "pisell1.goCustomFormAddData",
66
- data: _data,
67
- callback: (res) => {
68
- if (isAdd) {
69
- let obj = {};
70
- for (let item of res) {
71
- obj[item.key] = item.value;
58
+ const onAction = (0, import_ahooks.useMemoizedFn)(
59
+ async (formDataConfig, isAdd) => {
60
+ let _data = {
61
+ formDataConfig: { ...formDataConfig }
62
+ };
63
+ if (formDataConfig.data_range === "customer" && !(0, import_utils2.isWalkIn)(client == null ? void 0 : client.id)) {
64
+ _data.customerId = client.id;
65
+ }
66
+ action({
67
+ type: "pisell1.goCustomFormAddData",
68
+ data: _data,
69
+ callback: (res) => {
70
+ if (isAdd) {
71
+ let obj = {};
72
+ for (let item of res) {
73
+ obj[item.key] = item.value;
74
+ }
75
+ let _val = [...value[formDataConfig.form_id] || []];
76
+ _val.push(obj);
77
+ onValueChange(formDataConfig, _val);
72
78
  }
73
- let _val = [...value[formDataConfig.form_id] || []];
74
- _val.push(obj);
75
- onValueChange(formDataConfig, _val);
79
+ addCallback == null ? void 0 : addCallback(formDataConfig);
76
80
  }
77
- addCallback == null ? void 0 : addCallback(formDataConfig);
78
- }
79
- });
80
- };
81
- const onValueChange = (form, val) => {
81
+ });
82
+ }
83
+ );
84
+ const onValueChange = (0, import_ahooks.useMemoizedFn)((form, val) => {
82
85
  onChange({
83
86
  values: {
84
87
  ...value,
@@ -93,8 +96,8 @@ var Forms = (0, import_model.Provider)((props) => {
93
96
  value: val
94
97
  }
95
98
  });
96
- };
97
- const handleViewItem = (props2) => {
99
+ });
100
+ const handleViewItem = (0, import_ahooks.useMemoizedFn)((props2) => {
98
101
  const { form, record } = props2;
99
102
  let _data = {
100
103
  record,
@@ -124,58 +127,70 @@ var Forms = (0, import_model.Provider)((props) => {
124
127
  onValueChange(form, cur);
125
128
  }
126
129
  });
127
- };
128
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, (forms || []).map((d) => {
129
- var _a;
130
- return /* @__PURE__ */ import_react.default.createElement(
131
- "div",
132
- {
133
- className: "pisell-lowcode__booking-field-wrap",
134
- style: { padding: hideTitle ? 0 : "12px 0 0" },
135
- key: d.form_id
136
- },
137
- hideTitle ? null : /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-field-title" }, d.form.title),
138
- /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-field-com" }, /* @__PURE__ */ import_react.default.createElement(
139
- import_single.default,
130
+ });
131
+ return (0, import_react.useMemo)(() => {
132
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, (forms || []).map((d) => {
133
+ var _a;
134
+ return /* @__PURE__ */ import_react.default.createElement(
135
+ "div",
140
136
  {
141
- modalOpen,
142
- form: d,
143
- watch: { value },
144
- mode: d.type,
145
- value: value[d.form_id] || [],
146
- onChange: (val) => {
147
- onValueChange(d, val);
148
- },
149
- onAdd: () => {
150
- onAction(d, true);
151
- },
152
- addButtonProps: {
153
- loading,
154
- // 如果表单是客户数据, 并且未选择客户 则禁止选择表单
155
- disabled: d.data_range === "customer" && (0, import_utils2.isWalkIn)(client == null ? void 0 : client.id),
156
- ...addButtonProps
157
- },
158
- customSelectProps: {
159
- handleViewItem: (record) => {
160
- handleViewItem({
161
- form: d,
162
- record
163
- });
137
+ className: "pisell-lowcode__booking-field-wrap",
138
+ style: { padding: hideTitle ? 0 : "12px 0 0" },
139
+ key: d.form_id
140
+ },
141
+ hideTitle ? null : /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-field-title" }, d.form.title),
142
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-field-com" }, /* @__PURE__ */ import_react.default.createElement(
143
+ import_single.default,
144
+ {
145
+ modalOpen,
146
+ form: d,
147
+ watch: { value },
148
+ mode: d.type,
149
+ value: value[d.form_id] || [],
150
+ onChange: (val) => {
151
+ onValueChange(d, val);
164
152
  },
165
- handleCreateItem: () => {
166
- onAction(d, false);
153
+ onAdd: () => {
154
+ onAction(d, true);
167
155
  },
168
- createItemText: `${import_utils.locales.getText(
169
- "pisell2.text.create-new"
170
- )} ${((_a = d.form) == null ? void 0 : _a.title) || "-"}`,
171
- // addButtonProps: {
172
- // },
173
- ...customSelectProps || {}
174
- },
175
- optionRender
176
- }
177
- ))
178
- );
179
- }));
156
+ addButtonProps: {
157
+ loading,
158
+ // 如果表单是客户数据, 并且未选择客户 则禁止选择表单
159
+ disabled: d.data_range === "customer" && (0, import_utils2.isWalkIn)(client == null ? void 0 : client.id),
160
+ ...addButtonProps
161
+ },
162
+ customSelectProps: {
163
+ handleViewItem: (record) => {
164
+ handleViewItem({
165
+ form: d,
166
+ record
167
+ });
168
+ },
169
+ handleCreateItem: () => {
170
+ onAction(d, false);
171
+ },
172
+ createItemText: `${import_utils.locales.getText(
173
+ "pisell2.text.create-new"
174
+ )} ${((_a = d.form) == null ? void 0 : _a.title) || "-"}`,
175
+ // addButtonProps: {
176
+ // },
177
+ ...customSelectProps || {}
178
+ },
179
+ optionRender
180
+ }
181
+ ))
182
+ );
183
+ }));
184
+ }, [
185
+ forms,
186
+ hideTitle,
187
+ modalOpen,
188
+ value,
189
+ loading,
190
+ client == null ? void 0 : client.id,
191
+ addButtonProps,
192
+ customSelectProps,
193
+ optionRender
194
+ ]);
180
195
  });
181
196
  var forms_default = Forms;
@@ -1,4 +1,4 @@
1
- import React from "react";
2
- import "./index.less";
3
- declare const Info: () => React.JSX.Element;
4
- export default Info;
1
+ import React from 'react';
2
+ import './index.less';
3
+ declare const _default: React.MemoExoticComponent<() => React.JSX.Element>;
4
+ export default _default;
@@ -43,7 +43,8 @@ var import_index = require("./index.less");
43
43
  var import_utils = require("@pisell/utils");
44
44
  var import_utils2 = require("../../utils");
45
45
  var import_serve = require("./serve");
46
- var Info = () => {
46
+ var import_ahooks = require("ahooks");
47
+ var Client = () => {
47
48
  var _a, _b, _c, _d, _e, _f;
48
49
  const modalRef = (0, import_react.useRef)();
49
50
  const [loadLoading, setLoadLoading] = (0, import_react.useState)(false);
@@ -145,7 +146,7 @@ var Info = () => {
145
146
  setFranchiseeLoading(0);
146
147
  }
147
148
  };
148
- const handleSelectClient = async (value) => {
149
+ const handleSelectClient = (0, import_ahooks.useMemoizedFn)(async (value) => {
149
150
  let _value = (value == null ? void 0 : value[value.length - 1]) || import_model.walkInData;
150
151
  if (_value.loading) {
151
152
  return;
@@ -172,7 +173,7 @@ var Info = () => {
172
173
  return new Promise((resolve) => {
173
174
  resolve(0);
174
175
  });
175
- };
176
+ });
176
177
  const handleViewClient = () => {
177
178
  state.action({
178
179
  type: "pisell1.handleOpenCustomerModal",
@@ -193,7 +194,7 @@ var Info = () => {
193
194
  }
194
195
  });
195
196
  };
196
- const handleCreateItem = () => {
197
+ const handleCreateItem = (0, import_ahooks.useMemoizedFn)(() => {
197
198
  state.action({
198
199
  type: "pisell1.handleOpenAddCustomerModal",
199
200
  data: {
@@ -209,7 +210,7 @@ var Info = () => {
209
210
  });
210
211
  }
211
212
  });
212
- };
213
+ });
213
214
  const handleRemoveClient = () => {
214
215
  if (state.disabledEdit) {
215
216
  return;
@@ -242,14 +243,14 @@ var Info = () => {
242
243
  let _list = [...state.client.clients];
243
244
  return _list;
244
245
  }, [state.client.clients]);
245
- const searchChange = (search) => {
246
+ const searchChange = (0, import_ahooks.useMemoizedFn)((search) => {
246
247
  let _params = {
247
248
  ...params,
248
249
  skip: 1,
249
250
  search
250
251
  };
251
252
  getClients({ ..._params });
252
- };
253
+ });
253
254
  const loadMore = (0, import_react.useMemo)(() => {
254
255
  const show = state.client.clients.length < params.total || 0;
255
256
  return show ? /* @__PURE__ */ import_react.default.createElement("div", { className: "", style: { textAlign: "center", padding: "16px 0" } }, /* @__PURE__ */ import_react.default.createElement(
@@ -267,6 +268,55 @@ var Info = () => {
267
268
  import_utils.locales.getText("pisell2.text.load-more")
268
269
  )) : null;
269
270
  }, [loadLoading, params, state.client.clients.length]);
271
+ const customSelect = (0, import_react.useMemo)(() => {
272
+ return /* @__PURE__ */ import_react.default.createElement(
273
+ import_customSelect.default,
274
+ {
275
+ autoFocus: !state.isTerminal,
276
+ modalOpen: state.modalOpen,
277
+ ref: modalRef,
278
+ rowKey: "id",
279
+ options: renderList,
280
+ loading,
281
+ value: [state.client.value],
282
+ onValueChange: handleSelectClient,
283
+ handleCreateItem,
284
+ isPreview: false,
285
+ drawerProps: {
286
+ title: import_utils.locales.getText("pisell2.text.select-customer"),
287
+ destroyOnClose: true
288
+ },
289
+ mode: "single",
290
+ createItemText: import_utils.locales.getText("pisell2.text.create-new-customer"),
291
+ closeCallback: () => {
292
+ searchChange("");
293
+ },
294
+ optionRender: (item) => {
295
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
296
+ import_antd.Avatar,
297
+ {
298
+ className: "pisell-lowcode__booking-client-list-item-avatar",
299
+ src: import_utils.image.ali(item.cover, 100) || void 0,
300
+ icon: /* @__PURE__ */ import_react.default.createElement(import_User01.default, { className: "pisell-lowcode__booking-client-list-item-avatar-icon" })
301
+ }
302
+ ), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-list-item-info" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-list-item-info-name" }, getNickname(item)), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-list-item-info-desc" }, item.email ? /* @__PURE__ */ import_react.default.createElement("div", { className: "" }, item.email) : null, item.phone ? /* @__PURE__ */ import_react.default.createElement("div", { className: "" }, item.phone) : null)), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-list-item-loading" }, /* @__PURE__ */ import_react.default.createElement(import_antd.Spin, { spinning: franchiseeLoading === item.id })));
303
+ },
304
+ searchChange,
305
+ searchValue: params.search,
306
+ loadMore,
307
+ filterItem: (d, search) => {
308
+ return true;
309
+ }
310
+ }
311
+ );
312
+ }, [
313
+ state,
314
+ renderList,
315
+ loading,
316
+ franchiseeLoading,
317
+ params.search,
318
+ loadMore
319
+ ]);
270
320
  return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
271
321
  "div",
272
322
  {
@@ -298,45 +348,6 @@ var Info = () => {
298
348
  },
299
349
  /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-menu-wrap" }, /* @__PURE__ */ import_react.default.createElement(import_DotsVertical.default, { className: "pisell-lowcode__booking-client-menu-icon" }))
300
350
  )))
301
- ), /* @__PURE__ */ import_react.default.createElement(
302
- import_customSelect.default,
303
- {
304
- autoFocus: !state.isTerminal,
305
- modalOpen: state.modalOpen,
306
- ref: modalRef,
307
- rowKey: "id",
308
- options: renderList,
309
- loading,
310
- value: [state.client.value],
311
- onValueChange: handleSelectClient,
312
- handleCreateItem,
313
- isPreview: false,
314
- drawerProps: {
315
- title: import_utils.locales.getText("pisell2.text.select-customer"),
316
- destroyOnClose: true
317
- },
318
- mode: "single",
319
- createItemText: import_utils.locales.getText("pisell2.text.create-new-customer"),
320
- closeCallback: () => {
321
- searchChange("");
322
- },
323
- optionRender: (item) => {
324
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
325
- import_antd.Avatar,
326
- {
327
- className: "pisell-lowcode__booking-client-list-item-avatar",
328
- src: import_utils.image.ali(item.cover, 100) || void 0,
329
- icon: /* @__PURE__ */ import_react.default.createElement(import_User01.default, { className: "pisell-lowcode__booking-client-list-item-avatar-icon" })
330
- }
331
- ), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-list-item-info" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-list-item-info-name" }, getNickname(item)), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-list-item-info-desc" }, item.email ? /* @__PURE__ */ import_react.default.createElement("div", { className: "" }, item.email) : null, item.phone ? /* @__PURE__ */ import_react.default.createElement("div", { className: "" }, item.phone) : null)), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-list-item-loading" }, /* @__PURE__ */ import_react.default.createElement(import_antd.Spin, { spinning: franchiseeLoading === item.id })));
332
- },
333
- searchChange,
334
- searchValue: params.search,
335
- loadMore,
336
- filterItem: (d, search) => {
337
- return true;
338
- }
339
- }
340
- ));
351
+ ), customSelect);
341
352
  };
342
- var client_default = Info;
353
+ var client_default = import_react.default.memo(Client);
@@ -44,6 +44,7 @@ var import_index = require("./index.less");
44
44
  var import_useEngineContext = __toESM(require("../../../../../hooks/useEngineContext"));
45
45
  var import_format = require("../../../forms/format");
46
46
  var import_utils2 = require("../../utils");
47
+ var import_ahooks = require("ahooks");
47
48
  var VerticalClient = (props) => {
48
49
  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, _D, _E, _F, _G, _H;
49
50
  const { globalState, setGlobalState } = props;
@@ -132,9 +133,9 @@ var VerticalClient = (props) => {
132
133
  }
133
134
  });
134
135
  };
135
- const handleOpenModal = () => {
136
+ const handleOpenModal = (0, import_ahooks.useMemoizedFn)(() => {
136
137
  handleOpenClientModal();
137
- };
138
+ });
138
139
  const handleAddPet = (_client, cb) => {
139
140
  var _a2;
140
141
  let _data = {
@@ -174,7 +175,7 @@ var VerticalClient = (props) => {
174
175
  }
175
176
  });
176
177
  };
177
- const previewItemTitleRender = (value, index, values) => {
178
+ const previewItemTitleRender = (0, import_ahooks.useMemoizedFn)((value, index, values) => {
178
179
  var _a2, _b2, _c2, _d2, _e2, _f2;
179
180
  const title = getNickname(value.customer) || ((_a2 = value == null ? void 0 : value.customer) == null ? void 0 : _a2.email) || ((_b2 = value == null ? void 0 : value.customer) == null ? void 0 : _b2.phone) || "";
180
181
  if (((_c2 = value == null ? void 0 : value.customer) == null ? void 0 : _c2.id) === prevCustomerId.current) {
@@ -188,7 +189,7 @@ var VerticalClient = (props) => {
188
189
  prevCustomerId.current = null;
189
190
  }
190
191
  return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-pet-title" }, title, " ' ", ((_f2 = (_e2 = state.pet.formData) == null ? void 0 : _e2[0]) == null ? void 0 : _f2.title) || "");
191
- };
192
+ });
192
193
  const isShowAddBtn = (0, import_react.useMemo)(() => {
193
194
  var _a2, _b2, _c2, _d2, _e2, _f2;
194
195
  const formId2 = (_c2 = (_b2 = (_a2 = state.pet) == null ? void 0 : _a2.formData) == null ? void 0 : _b2[0]) == null ? void 0 : _c2.form_id;
@@ -95,7 +95,7 @@ var Info = (0, import_model.Provider)((props) => {
95
95
  timezone: (_m = (_l = (_k = (_j = (_i2 = (_h2 = context == null ? void 0 : context.appHelper) == null ? void 0 : _h2.utils) == null ? void 0 : _i2.store) == null ? void 0 : _j.getState()) == null ? void 0 : _k.global) == null ? void 0 : _l.globalConfig) == null ? void 0 : _m.timezone
96
96
  }
97
97
  });
98
- }, [globalState]);
98
+ }, [JSON.stringify(globalState)]);
99
99
  const addNote = (e) => {
100
100
  modal.dispatch({
101
101
  type: "setNotes",
@@ -1,6 +1,6 @@
1
- import React from "react";
2
- import "./index.less";
3
- import { InfoProps } from "../../forms/forms";
1
+ import React from 'react';
2
+ import './index.less';
3
+ import { InfoProps } from '../../forms/forms';
4
4
  interface PetProps {
5
5
  state?: any;
6
6
  dispatch?: any;