@pisell/private-materials 3.0.87 → 3.0.88

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 (33) 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/render/default/view.js +3 -3
  6. package/build/lowcode/view.js +7 -7
  7. package/es/components/booking/components/footer/index.d.ts +2 -2
  8. package/es/components/booking/components/footer/index.js +172 -157
  9. package/es/components/booking/deposit/DepositItem/index.d.ts +4 -3
  10. package/es/components/booking/deposit/DepositItem/index.js +22 -21
  11. package/es/components/booking/deposit/index.d.ts +1 -1
  12. package/es/components/booking/deposit/index.js +23 -18
  13. package/es/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
  14. package/es/components/booking/info/clientVariant/hooks/useClientFn.js +5 -3
  15. package/es/components/booking/info/clientVariant/vertical/SelectDrawer.d.ts +1 -0
  16. package/es/components/booking/info/clientVariant/vertical/SelectDrawer.js +140 -77
  17. package/es/components/booking/info/clientVariant/vertical/index.js +8 -4
  18. package/es/components/booking/info/service/addService/index.js +1 -1
  19. package/es/components/booking/utils.js +3 -1
  20. package/lib/components/booking/components/footer/index.d.ts +2 -2
  21. package/lib/components/booking/components/footer/index.js +27 -12
  22. package/lib/components/booking/deposit/DepositItem/index.d.ts +4 -3
  23. package/lib/components/booking/deposit/DepositItem/index.js +3 -2
  24. package/lib/components/booking/deposit/index.d.ts +1 -1
  25. package/lib/components/booking/deposit/index.js +32 -6
  26. package/lib/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
  27. package/lib/components/booking/info/clientVariant/hooks/useClientFn.js +5 -3
  28. package/lib/components/booking/info/clientVariant/vertical/SelectDrawer.d.ts +1 -0
  29. package/lib/components/booking/info/clientVariant/vertical/SelectDrawer.js +16 -12
  30. package/lib/components/booking/info/clientVariant/vertical/index.js +17 -13
  31. package/lib/components/booking/info/service/addService/index.js +1 -1
  32. package/lib/components/booking/utils.js +1 -1
  33. package/package.json +1 -1
@@ -21,7 +21,7 @@ import Pet from "../../pet";
21
21
  import "./index.less";
22
22
  import useEngineContext from "../../../../../hooks/useEngineContext";
23
23
  var VerticalClient = function VerticalClient(props) {
24
- var _state$bookingConfig2, _state$bookingConfig3, _state$bookingConfig8, _state$bookingConfig9, _state$bookingConfig10, _state$bookingConfig11, _state$pet3, _state$pet4, _state$client$value, _state$client$value2, _state$client$value3, _state$client$value4, _state$client$value5, _state$pet5, _state$pet5$value, _context$appHelper, _context$appHelper$ut, _context$appHelper$ut2, _state$bookingConfig12, _state$client;
24
+ var _context$appHelper, _context$appHelper$ut, _context$appHelper$ut2, _context$appHelper$ut3, _state$bookingConfig2, _state$bookingConfig3, _state$bookingConfig8, _state$bookingConfig9, _state$bookingConfig10, _state$bookingConfig11, _state$pet3, _state$pet4, _state$client$value, _state$client$value2, _state$client$value3, _state$client$value4, _state$client$value5, _state$pet5, _state$pet5$value, _context$appHelper2, _context$appHelper2$u, _context$appHelper2$u2, _state$bookingConfig12, _state$client;
25
25
  var globalState = props.globalState,
26
26
  setGlobalState = props.setGlobalState;
27
27
  var modalRef = useRef();
@@ -29,6 +29,8 @@ var VerticalClient = function VerticalClient(props) {
29
29
  var stateRef = useRef(state);
30
30
  var prevCustomerId = useRef(null);
31
31
  var context = useEngineContext();
32
+ var isFranchisee = context === null || context === void 0 ? void 0 : (_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 ? void 0 : (_context$appHelper$ut = _context$appHelper.utils) === null || _context$appHelper$ut === void 0 ? void 0 : (_context$appHelper$ut2 = _context$appHelper$ut.businessUtils) === null || _context$appHelper$ut2 === void 0 ? void 0 : (_context$appHelper$ut3 = _context$appHelper$ut2.getAppByModal) === null || _context$appHelper$ut3 === void 0 ? void 0 : _context$appHelper$ut3.call(_context$appHelper$ut2, "franchisee");
33
+ state.isFranchisee = isFranchisee;
32
34
  stateRef.current = state;
33
35
  var _useClientFn = useClientFn({
34
36
  state: state,
@@ -48,7 +50,8 @@ var VerticalClient = function VerticalClient(props) {
48
50
  loading = _useClientFn.loading,
49
51
  loadMore = _useClientFn.loadMore,
50
52
  handleOpenClientModal = _useClientFn.handleOpenClientModal,
51
- getNickname = _useClientFn.getNickname;
53
+ getNickname = _useClientFn.getNickname,
54
+ franchiseeLoading = _useClientFn.franchiseeLoading;
52
55
  var renderList = useMemo(function () {
53
56
  var _list = _toConsumableArray(state.client.clients);
54
57
  return _list;
@@ -227,7 +230,7 @@ var VerticalClient = function VerticalClient(props) {
227
230
  }, locales.getText('pisell2.text.add'))), /*#__PURE__*/React.createElement(SelectDrawer, {
228
231
  modalOpen: state.modalOpen,
229
232
  loading: loading,
230
- autoFocus: !(context !== null && context !== void 0 && (_context$appHelper = context.appHelper) !== null && _context$appHelper !== void 0 && (_context$appHelper$ut = _context$appHelper.utils) !== null && _context$appHelper$ut !== void 0 && (_context$appHelper$ut2 = _context$appHelper$ut.isTerminal) !== null && _context$appHelper$ut2 !== void 0 && _context$appHelper$ut2.call(_context$appHelper$ut)),
233
+ autoFocus: !(context !== null && context !== void 0 && (_context$appHelper2 = context.appHelper) !== null && _context$appHelper2 !== void 0 && (_context$appHelper2$u = _context$appHelper2.utils) !== null && _context$appHelper2$u !== void 0 && (_context$appHelper2$u2 = _context$appHelper2$u.isTerminal) !== null && _context$appHelper2$u2 !== void 0 && _context$appHelper2$u2.call(_context$appHelper2$u)),
231
234
  ref: modalRef,
232
235
  onClose: handleClose,
233
236
  handleSelectClient: handleSelectClient,
@@ -241,7 +244,8 @@ var VerticalClient = function VerticalClient(props) {
241
244
  client: state === null || state === void 0 ? void 0 : (_state$client = state.client) === null || _state$client === void 0 ? void 0 : _state$client.value,
242
245
  loadMore: loadMore,
243
246
  showPet: (boardConfig === null || boardConfig === void 0 ? void 0 : boardConfig.type) === 'form',
244
- handleAddPet: handleAddPet
247
+ handleAddPet: handleAddPet,
248
+ franchiseeLoading: franchiseeLoading
245
249
  }));
246
250
  };
247
251
  export default VerticalClient;
@@ -264,7 +264,6 @@ var Info = function Info() {
264
264
  }
265
265
  });
266
266
  };
267
- console.log('state.service.cacheItem', state.service.cacheItem);
268
267
  var renderList = useMemo(function () {
269
268
  var _state$service2;
270
269
  var _list = ((_state$service2 = state.service) === null || _state$service2 === void 0 ? void 0 : _state$service2.services) || [];
@@ -275,6 +274,7 @@ var Info = function Info() {
275
274
  return isIncludes(item.title);
276
275
  } : undefined);
277
276
  }, [search, (_state$service3 = state.service) === null || _state$service3 === void 0 ? void 0 : _state$service3.services]);
277
+ console.log('state.service.renderList', renderList);
278
278
  var isService = useMemo(function () {
279
279
  return state.service.value.length > 0;
280
280
  }, [state.service.value]);
@@ -217,7 +217,9 @@ export var formatProductListByCategory = function formatProductListByCategory(li
217
217
  });
218
218
  }
219
219
  }
220
- return Object.values(categoryObject);
220
+ return Object.values(categoryObject).sort(function (a, b) {
221
+ return b.sort - a.sort;
222
+ });
221
223
  };
222
224
  export var getResourceTimeIsUsable = function getResourceTimeIsUsable(item, cacheItem) {
223
225
  var startDate = dayjs(cacheItem._extend.start_date.format("YYYY-MM-DD") + ' ' + getServeStartTime(cacheItem._extend.start_time));
@@ -1,5 +1,5 @@
1
- import React from "react";
2
- import "./index.less";
1
+ import React from 'react';
2
+ import './index.less';
3
3
  /**
4
4
  * @title: 底部
5
5
  * @description:
@@ -52,10 +52,13 @@ var Footer = (props) => {
52
52
  const [loading, setLoading] = (0, import_react.useState)(false);
53
53
  const [checkoutLoading, setCheckoutLoading] = (0, import_react.useState)(false);
54
54
  const context = (0, import_useEngineContext.default)();
55
- const { isTerminal, interaction, store } = (_a = context.appHelper) == null ? void 0 : _a.utils;
55
+ const { isTerminal, interaction, store, storage } = (_a = context.appHelper) == null ? void 0 : _a.utils;
56
56
  const isShowPaymentLink = (_d = (_c = (_b = store == null ? void 0 : store.getState) == null ? void 0 : _b.call(store)) == null ? void 0 : _c.global) == null ? void 0 : _d.paymentLinkBtnShow;
57
57
  const [modal, contextHolder] = import_antd.Modal.useModal();
58
58
  const { setActiveTab } = state;
59
+ const isTeam = (0, import_react.useMemo)(() => {
60
+ return storage.get("channel") === "android_team_portal" || storage.get("channel") === "ios_team_portal";
61
+ }, []);
59
62
  const actionMap = {
60
63
  sale: {
61
64
  label: import_utils.locales.getText("pisell2.text.addons"),
@@ -509,11 +512,15 @@ var Footer = (props) => {
509
512
  }
510
513
  }
511
514
  }
512
- if (transaction_habit_selection.button_rows == 1) {
513
- arr.push(actionMap.orderDetail);
515
+ if (!isTeam) {
516
+ if (transaction_habit_selection.button_rows == 1) {
517
+ arr.push(actionMap.orderDetail);
518
+ }
514
519
  }
515
- if (total.paidAmount > 0) {
516
- arr.push(actionMap.refund);
520
+ if (!isTeam) {
521
+ if (total.paidAmount > 0) {
522
+ arr.push(actionMap.refund);
523
+ }
517
524
  }
518
525
  if (state.appointment_status !== "cancelled") {
519
526
  arr.push(actionMap.rebook);
@@ -537,18 +544,22 @@ var Footer = (props) => {
537
544
  if (state.bookingId && isShowPaymentLink) {
538
545
  arr.push(buttonMap.paymentLink);
539
546
  }
540
- if (total.paidAmount > 0) {
541
- arr.push(buttonMap.refund);
542
- }
543
- if (isCheckout) {
544
- arr.push(buttonMap.checkout);
547
+ if (!isTeam) {
548
+ if (total.paidAmount > 0) {
549
+ arr.push(buttonMap.refund);
550
+ }
551
+ if (isCheckout) {
552
+ arr.push(buttonMap.checkout);
553
+ }
545
554
  }
546
555
  return arr;
547
556
  }
548
557
  if (source === "info") {
549
558
  let arr = [];
550
559
  if (isCheckout) {
551
- arr.push(buttonMap.checkout);
560
+ if (!isTeam) {
561
+ arr.push(buttonMap.checkout);
562
+ }
552
563
  } else {
553
564
  if (!isEdit) {
554
565
  arr.push(buttonMap.complete);
@@ -557,6 +568,9 @@ var Footer = (props) => {
557
568
  if (isEdit) {
558
569
  arr.push(buttonMap.save);
559
570
  }
571
+ if (arr.length === 0) {
572
+ return [buttonMap.rebook];
573
+ }
560
574
  return arr;
561
575
  }
562
576
  if (source === "addTime") {
@@ -575,7 +589,8 @@ var Footer = (props) => {
575
589
  buttonMap,
576
590
  loading,
577
591
  isCheckout,
578
- state
592
+ state,
593
+ isTeam
579
594
  ]);
580
595
  const isOnlyDeposit = (0, import_react.useMemo)(() => {
581
596
  var _a2, _b2, _c2, _d2;
@@ -1,7 +1,7 @@
1
- import React from "react";
2
- import "./index.less";
1
+ import React from 'react';
2
+ import './index.less';
3
3
  declare type DepositItemProps = {
4
- status: "paid" | "unpaid";
4
+ status: 'paid' | 'unpaid';
5
5
  onEdit: React.MouseEventHandler<HTMLSpanElement>;
6
6
  customer: any;
7
7
  totalAmountStr: string;
@@ -16,6 +16,7 @@ declare type DepositItemProps = {
16
16
  createdTime: string;
17
17
  isPaid: boolean;
18
18
  isBookingCancelled: boolean;
19
+ hideOrderDetail?: boolean;
19
20
  };
20
21
  declare const DepositItem: (props: DepositItemProps) => React.JSX.Element;
21
22
  export default DepositItem;
@@ -62,7 +62,8 @@ var DepositItem = (props) => {
62
62
  createdTime,
63
63
  isPaid,
64
64
  isBookingCancelled,
65
- sendEmail
65
+ sendEmail,
66
+ hideOrderDetail
66
67
  } = props;
67
68
  const statusText = {
68
69
  unpaid: import_utils.locales.getText("pisell2.text.deposit-item-status-unpaid"),
@@ -110,6 +111,6 @@ var DepositItem = (props) => {
110
111
  onClick: onEdit
111
112
  }
112
113
  ))
113
- ), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-content" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-content-line1" }, import_utils.locales.getText("pisell2.text.deposit-order-no"), " ", orderNumber), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-content-line2" }, createdTime), /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(import_ClientItem.default, { data: customer, coverSize: 40, walkInName: "Walk-In" }))), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-footer" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-footer-total" }, /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("pisell2.text.deposit-order-total")), /* @__PURE__ */ import_react.default.createElement("div", null, totalAmountStr)), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-footer-action" }, /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { block: true, size: "large", onClick: handleGoOrderDetail }, import_utils.locales.getText("pisell2.text.deposit-order-detail")), /* @__PURE__ */ import_react.default.createElement(import_antd.Dropdown, { menu: { items, onClick }, placement: "bottom" }, /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { block: true, type: "primary", size: "large" }, import_utils.locales.getText("pisell2.text.deposit-collect-deposit"), " ", /* @__PURE__ */ import_react.default.createElement(import_icons.DownOutlined, null))))));
114
+ ), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-content" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-content-line1" }, import_utils.locales.getText("pisell2.text.deposit-order-no"), " ", orderNumber), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-content-line2" }, createdTime), /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(import_ClientItem.default, { data: customer, coverSize: 40, walkInName: "Walk-In" }))), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-footer" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-footer-total" }, /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("pisell2.text.deposit-order-total")), /* @__PURE__ */ import_react.default.createElement("div", null, totalAmountStr)), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__deposit-item-footer-action" }, !hideOrderDetail && /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { block: true, size: "large", onClick: handleGoOrderDetail }, import_utils.locales.getText("pisell2.text.deposit-order-detail")), /* @__PURE__ */ import_react.default.createElement(import_antd.Dropdown, { menu: { items, onClick }, placement: "bottom" }, /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { block: true, type: "primary", size: "large" }, import_utils.locales.getText("pisell2.text.deposit-collect-deposit"), " ", /* @__PURE__ */ import_react.default.createElement(import_icons.DownOutlined, null))))));
114
115
  };
115
116
  var DepositItem_default = DepositItem;
@@ -1,3 +1,3 @@
1
- import React from "react";
1
+ import React from 'react';
2
2
  declare const Deposit: (props: any) => React.JSX.Element;
3
3
  export default Deposit;
@@ -51,9 +51,19 @@ var Deposit = (props) => {
51
51
  const [modal, contextHolder] = import_antd.Modal.useModal();
52
52
  const editDepositModalRef = (0, import_react.useRef)();
53
53
  const context = (0, import_useEngineContext.default)();
54
- const { isTerminal, interaction, action } = ((_a = context.appHelper) == null ? void 0 : _a.utils) || {};
54
+ const { isTerminal, interaction, action, storage } = ((_a = context.appHelper) == null ? void 0 : _a.utils) || {};
55
+ const isTeam = (0, import_react.useMemo)(() => {
56
+ return storage.get("channel") === "android_team_portal" || storage.get("channel") === "ios_team_portal";
57
+ }, []);
55
58
  import_utils2.request.setRequest(context.appHelper.utils.request);
56
- const { bookingDetail, bookingId, amountSymbol, generatePaymentLink, locale, callback } = globalState;
59
+ const {
60
+ bookingDetail,
61
+ bookingId,
62
+ amountSymbol,
63
+ generatePaymentLink,
64
+ locale,
65
+ callback
66
+ } = globalState;
57
67
  const sendEmail = (id) => {
58
68
  action({
59
69
  type: "pisell1.sendPayLinkEmail",
@@ -105,7 +115,9 @@ var Deposit = (props) => {
105
115
  status: (bookingDetail == null ? void 0 : bookingDetail.deposit_payment_time) ? "paid" : "unpaid",
106
116
  totalAmount: total.expectAmount,
107
117
  depositAmount: bookingDetail == null ? void 0 : bookingDetail.deposit_amount,
108
- createdTime: (0, import_dayjs.default)(bookingDetail == null ? void 0 : bookingDetail.created_at).format(locale === "en" ? "dddd, D MMMM YYYY HH:mm" : "YYYY-MM-DD HH:mm"),
118
+ createdTime: (0, import_dayjs.default)(bookingDetail == null ? void 0 : bookingDetail.created_at).format(
119
+ locale === "en" ? "dddd, D MMMM YYYY HH:mm" : "YYYY-MM-DD HH:mm"
120
+ ),
109
121
  orderId: bookingDetail == null ? void 0 : bookingDetail.id,
110
122
  orderNumber: bookingDetail == null ? void 0 : bookingDetail.shop_full_order_number,
111
123
  amountSymbol: (globalState == null ? void 0 : globalState.amountSymbol) || "$",
@@ -116,7 +128,12 @@ var Deposit = (props) => {
116
128
  )
117
129
  }
118
130
  ];
119
- }, [bookingDetail, total == null ? void 0 : total.expectAmount, globalState == null ? void 0 : globalState.amountSymbol, bookingDetail == null ? void 0 : bookingDetail.deposit_amount]);
131
+ }, [
132
+ bookingDetail,
133
+ total == null ? void 0 : total.expectAmount,
134
+ globalState == null ? void 0 : globalState.amountSymbol,
135
+ bookingDetail == null ? void 0 : bookingDetail.deposit_amount
136
+ ]);
120
137
  const isBookingCancelled = ((_b = bookingDetail == null ? void 0 : bookingDetail.bookings) == null ? void 0 : _b.appointment_status) === "cancelled";
121
138
  const isPaid = (bookingDetail == null ? void 0 : bookingDetail.payment_time) !== null;
122
139
  const footer = (0, import_react.useMemo)(() => {
@@ -126,7 +143,15 @@ var Deposit = (props) => {
126
143
  return null;
127
144
  if (isPaid)
128
145
  return null;
129
- return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-deposit-footer" }, /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { size: "large", block: true, onClick: depositList.length > 0 ? deleteDeposit : create }, depositList.length > 0 ? import_utils.locales.getText("pisell2.text.deposit-delete") : import_utils.locales.getText("pisell2.text.add")));
146
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-deposit-footer" }, /* @__PURE__ */ import_react.default.createElement(
147
+ import_antd.Button,
148
+ {
149
+ size: "large",
150
+ block: true,
151
+ onClick: depositList.length > 0 ? deleteDeposit : create
152
+ },
153
+ depositList.length > 0 ? import_utils.locales.getText("pisell2.text.deposit-delete") : import_utils.locales.getText("pisell2.text.add")
154
+ ));
130
155
  }, [depositList, isBookingCancelled, isPaid]);
131
156
  const handleEdit = (e, item) => {
132
157
  var _a2, _b2;
@@ -185,7 +210,8 @@ var Deposit = (props) => {
185
210
  handleGoOrderDetail,
186
211
  onEdit: (e) => handleEdit(e, item),
187
212
  isPaid,
188
- isBookingCancelled
213
+ isBookingCancelled,
214
+ hideOrderDetail: isTeam
189
215
  }
190
216
  )),
191
217
  /* @__PURE__ */ import_react.default.createElement(
@@ -36,5 +36,6 @@ declare const useClientFn: (_params: useClientFnParams) => {
36
36
  loadMore: React.JSX.Element | null;
37
37
  handleOpenClientModal: () => void;
38
38
  getNickname: (item: any) => any;
39
+ franchiseeLoading: number;
39
40
  };
40
41
  export default useClientFn;
@@ -81,15 +81,16 @@ var useClientFn = (_params) => {
81
81
  ...!state.isFranchisee ? { _config: { abort: true } } : {}
82
82
  });
83
83
  const list = ((data == null ? void 0 : data.list) || []).map((d) => {
84
+ var _a2;
84
85
  return {
85
86
  ...d,
86
87
  name: getNickname(d),
87
88
  id: d.franchisee_customer_id || d.id,
88
- form_record: d.form_record.map((item) => ({
89
+ form_record: ((_a2 = d.form_record) == null ? void 0 : _a2.map((item) => ({
89
90
  ...item,
90
91
  ...item.data,
91
92
  form_record_id: item.id
92
- }))
93
+ }))) || []
93
94
  };
94
95
  });
95
96
  let _payload = {
@@ -303,7 +304,8 @@ var useClientFn = (_params) => {
303
304
  loading,
304
305
  loadMore,
305
306
  handleOpenClientModal,
306
- getNickname
307
+ getNickname,
308
+ franchiseeLoading
307
309
  };
308
310
  };
309
311
  var useClientFn_default = useClientFn;
@@ -17,6 +17,7 @@ interface SelectDrawerProps {
17
17
  holder: any;
18
18
  handleAddPet: any;
19
19
  modalOpen: boolean;
20
+ franchiseeLoading?: number;
20
21
  }
21
22
  declare const _default: React.ForwardRefExoticComponent<SelectDrawerProps & React.RefAttributes<unknown>>;
22
23
  export default _default;
@@ -63,7 +63,8 @@ var Item = ({
63
63
  desc,
64
64
  coverSize,
65
65
  checked,
66
- style
66
+ style,
67
+ loading
67
68
  }) => {
68
69
  return /* @__PURE__ */ import_react.default.createElement(
69
70
  "div",
@@ -83,7 +84,8 @@ var Item = ({
83
84
  icon: /* @__PURE__ */ import_react.default.createElement(import_User01.default, { className: "pisell-lowcode__booking-client-list-item-avatar-icon" })
84
85
  }
85
86
  ),
86
- /* @__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" }, title), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-list-item-info-desc" }, (desc || []).map((d) => /* @__PURE__ */ import_react.default.createElement("div", { className: "", title: d }, d))))
87
+ /* @__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" }, title), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-list-item-info-desc" }, (desc || []).map((d) => /* @__PURE__ */ import_react.default.createElement("div", { className: "", title: d }, d)))),
88
+ /* @__PURE__ */ import_react.default.createElement(import_antd.Spin, { spinning: !!loading })
87
89
  );
88
90
  };
89
91
  var defaultArr = [];
@@ -104,7 +106,8 @@ var SelectDrawer = (props, ref) => {
104
106
  loadMore,
105
107
  showPet,
106
108
  handleAddPet,
107
- modalOpen
109
+ modalOpen,
110
+ franchiseeLoading
108
111
  } = props;
109
112
  const form = (formData == null ? void 0 : formData[0]) || {};
110
113
  const valList = (childrenValue == null ? void 0 : childrenValue[form.id]) || defaultArr;
@@ -161,7 +164,7 @@ var SelectDrawer = (props, ref) => {
161
164
  const handleAddClient = () => {
162
165
  handleCreateItem();
163
166
  };
164
- const handleChildrenValueChange = (value, item) => {
167
+ const handleChildrenValueChange = async (value, item) => {
165
168
  var _a;
166
169
  let clientId = client.id;
167
170
  if (!(client == null ? void 0 : client.id) || client.id === 1) {
@@ -169,7 +172,7 @@ var SelectDrawer = (props, ref) => {
169
172
  }
170
173
  if (mode === "single") {
171
174
  if (!(client == null ? void 0 : client.id) || client.id === 1) {
172
- handleSelectClient([item]);
175
+ await handleSelectClient([item]);
173
176
  }
174
177
  handleSelectPet({
175
178
  [form.id]: (0, import_format.formatAddFormValues)({
@@ -218,19 +221,19 @@ var SelectDrawer = (props, ref) => {
218
221
  }
219
222
  return holder == null ? void 0 : holder.type;
220
223
  }, [holder == null ? void 0 : holder.type]);
221
- const handleOk = () => {
224
+ const handleOk = async () => {
222
225
  var _a;
223
226
  if (!(client == null ? void 0 : client.id) || (client == null ? void 0 : client.id) === 1) {
224
- handleSelectClient([clientRef.current]);
227
+ await handleSelectClient([clientRef.current]);
225
228
  }
226
229
  handleSelectPet({
227
230
  [(_a = holder == null ? void 0 : holder.form) == null ? void 0 : _a.id]: _value
228
231
  });
229
232
  closeDrawer();
230
233
  };
231
- const handleClientClick = (item) => {
234
+ const handleClientClick = async (item) => {
232
235
  var _a;
233
- handleSelectClient([item]);
236
+ await handleSelectClient([item]);
234
237
  if (mode === "multiple") {
235
238
  const isHasChildren = _value.some(
236
239
  (val) => item.form_record.some(
@@ -280,7 +283,7 @@ var SelectDrawer = (props, ref) => {
280
283
  getContainer: false,
281
284
  destroyOnClose: true,
282
285
  push: { distance: 180 },
283
- footer: mode === "multiple" && /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { block: true, type: "primary", onClick: handleOk }, import_utils.locales.getText("pisell2.text.apply")))
286
+ footer: mode === "multiple" && /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(import_antd.Button, { block: true, type: "primary", onClick: handleOk, loading: !!franchiseeLoading }, import_utils.locales.getText("pisell2.text.apply")))
284
287
  },
285
288
  /* @__PURE__ */ import_react.default.createElement(import_antd.Spin, { spinning: loading }, /* @__PURE__ */ import_react.default.createElement("div", { className: "vertical-client-select-drawer-content-wrap" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "vertical-client-select-drawer-top" }, /* @__PURE__ */ import_react.default.createElement(
286
289
  ActionItem,
@@ -313,7 +316,8 @@ var SelectDrawer = (props, ref) => {
313
316
  title: getNickname(item),
314
317
  desc: [item.email, item.phone],
315
318
  checked: item.id === client.id,
316
- style: showPet ? { marginBottom: 6 } : {}
319
+ style: showPet ? { marginBottom: 6 } : {},
320
+ loading: franchiseeLoading === item.id
317
321
  }
318
322
  ),
319
323
  showPet && /* @__PURE__ */ import_react.default.createElement("div", { className: "vertical-client-select-drawer-content-item-children" }, ((item == null ? void 0 : item.form_record) || []).map((f) => {
@@ -336,7 +340,7 @@ var SelectDrawer = (props, ref) => {
336
340
  )
337
341
  },
338
342
  mode === "multiple" && /* @__PURE__ */ import_react.default.createElement(import_antd.Checkbox, { checked }),
339
- /* @__PURE__ */ import_react.default.createElement(Item, { coverSize: 48, title: f.main_field })
343
+ /* @__PURE__ */ import_react.default.createElement(Item, { coverSize: 48, title: f.main_field, loading: false })
340
344
  );
341
345
  }), /* @__PURE__ */ import_react.default.createElement(
342
346
  "div",
@@ -43,13 +43,15 @@ var import_pet = __toESM(require("../../pet"));
43
43
  var import_index = require("./index.less");
44
44
  var import_useEngineContext = __toESM(require("../../../../../hooks/useEngineContext"));
45
45
  var VerticalClient = (props) => {
46
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
46
+ 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;
47
47
  const { globalState, setGlobalState } = props;
48
48
  const modalRef = (0, import_react.useRef)();
49
49
  const state = globalState;
50
50
  const stateRef = (0, import_react.useRef)(state);
51
51
  const prevCustomerId = (0, import_react.useRef)(null);
52
52
  const context = (0, import_useEngineContext.default)();
53
+ const isFranchisee = (_d = (_c = (_b = (_a = context == null ? void 0 : context.appHelper) == null ? void 0 : _a.utils) == null ? void 0 : _b.businessUtils) == null ? void 0 : _c.getAppByModal) == null ? void 0 : _d.call(_c, "franchisee");
54
+ state.isFranchisee = isFranchisee;
53
55
  stateRef.current = state;
54
56
  const {
55
57
  isWalkIn,
@@ -65,7 +67,8 @@ var VerticalClient = (props) => {
65
67
  loading,
66
68
  loadMore,
67
69
  handleOpenClientModal,
68
- getNickname
70
+ getNickname,
71
+ franchiseeLoading
69
72
  } = (0, import_useClientFn.default)({
70
73
  state,
71
74
  setGlobalState,
@@ -95,7 +98,7 @@ var VerticalClient = (props) => {
95
98
  const boardConfig = (0, import_react.useMemo)(() => {
96
99
  var _a2, _b2, _c2;
97
100
  return ((_c2 = (_b2 = (_a2 = state == null ? void 0 : state.bookingConfig) == null ? void 0 : _a2.config) == null ? void 0 : _b2.basic) == null ? void 0 : _c2.appointment_subject) || {};
98
- }, [(_b = (_a = state == null ? void 0 : state.bookingConfig) == null ? void 0 : _a.config) == null ? void 0 : _b.basic]);
101
+ }, [(_f = (_e = state == null ? void 0 : state.bookingConfig) == null ? void 0 : _e.config) == null ? void 0 : _f.basic]);
99
102
  (0, import_react.useEffect)(() => {
100
103
  var _a2, _b2, _c2, _d2;
101
104
  if (((_d2 = (_c2 = (_b2 = (_a2 = state == null ? void 0 : state.bookingConfig) == null ? void 0 : _a2.config) == null ? void 0 : _b2.basic) == null ? void 0 : _c2.appointment_customer) == null ? void 0 : _d2.type) === "customer" && (state == null ? void 0 : state.modalOpen) && !(state == null ? void 0 : state.bookingId)) {
@@ -107,7 +110,7 @@ var VerticalClient = (props) => {
107
110
  });
108
111
  }
109
112
  }, [
110
- (_f = (_e = (_d = (_c = state == null ? void 0 : state.bookingConfig) == null ? void 0 : _c.config) == null ? void 0 : _d.basic) == null ? void 0 : _e.appointment_customer) == null ? void 0 : _f.type,
113
+ (_j = (_i = (_h = (_g = state == null ? void 0 : state.bookingConfig) == null ? void 0 : _g.config) == null ? void 0 : _h.basic) == null ? void 0 : _i.appointment_customer) == null ? void 0 : _j.type,
111
114
  state == null ? void 0 : state.modalOpen
112
115
  ]);
113
116
  const handleSelectPet = (val) => {
@@ -185,8 +188,8 @@ var VerticalClient = (props) => {
185
188
  }, [
186
189
  isWalkIn,
187
190
  state == null ? void 0 : state.disabledEdit,
188
- (_g = state.pet) == null ? void 0 : _g.value,
189
- (_h = state.pet) == null ? void 0 : _h.formData,
191
+ (_k = state.pet) == null ? void 0 : _k.value,
192
+ (_l = state.pet) == null ? void 0 : _l.formData,
190
193
  boardConfig.type
191
194
  ]);
192
195
  return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-vertical-client-wrap" }, /* @__PURE__ */ import_react.default.createElement(
@@ -204,11 +207,11 @@ var VerticalClient = (props) => {
204
207
  import_antd.Avatar,
205
208
  {
206
209
  className: "pisell-lowcode__booking-client-avatar",
207
- src: import_utils.image.ali((_i = state.client.value) == null ? void 0 : _i.cover, 100),
210
+ src: import_utils.image.ali((_m = state.client.value) == null ? void 0 : _m.cover, 100),
208
211
  size: 64,
209
212
  icon: /* @__PURE__ */ import_react.default.createElement(import_User01.default, { className: "pisell-lowcode__booking-client-list-item-avatar-icon" })
210
213
  }
211
- ), isWalkIn ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-info-desc" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-title" }, import_utils.locales.getText("pisell2.text.add-client")), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-desc-item" }, import_utils.locales.getText("pisell2.text.leave-empty-for-walk-in"))) : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-title" }, getNickname(state.client.value)), ((_j = state.client.value) == null ? void 0 : _j.email) ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-desc-item" }, (_k = state.client.value) == null ? void 0 : _k.email) : null, ((_l = state.client.value) == null ? void 0 : _l.phone) ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-desc-item" }, (_m = state.client.value) == null ? void 0 : _m.phone) : null), !isWalkIn && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-action-wrap" }, !state.disabledEdit && /* @__PURE__ */ import_react.default.createElement(
214
+ ), isWalkIn ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-info-desc" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-title" }, import_utils.locales.getText("pisell2.text.add-client")), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-desc-item" }, import_utils.locales.getText("pisell2.text.leave-empty-for-walk-in"))) : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-title" }, getNickname(state.client.value)), ((_n = state.client.value) == null ? void 0 : _n.email) ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-desc-item" }, (_o = state.client.value) == null ? void 0 : _o.email) : null, ((_p = state.client.value) == null ? void 0 : _p.phone) ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-desc-item" }, (_q = state.client.value) == null ? void 0 : _q.phone) : null), !isWalkIn && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-client-action-wrap" }, !state.disabledEdit && /* @__PURE__ */ import_react.default.createElement(
212
215
  import_antd.Dropdown,
213
216
  {
214
217
  menu: {
@@ -234,7 +237,7 @@ var VerticalClient = (props) => {
234
237
  clientChangeNotSetPet: true,
235
238
  state,
236
239
  dispatch: petDispatch,
237
- hideTitle: !((_o = (_n = state.pet) == null ? void 0 : _n.value) == null ? void 0 : _o.length),
240
+ hideTitle: !((_s = (_r = state.pet) == null ? void 0 : _r.value) == null ? void 0 : _s.length),
238
241
  handleOpenModal,
239
242
  addButtonProps: {
240
243
  onClick: handleOpenClientModal,
@@ -256,7 +259,7 @@ var VerticalClient = (props) => {
256
259
  {
257
260
  modalOpen: state.modalOpen,
258
261
  loading,
259
- autoFocus: !((_r = (_q = (_p = context == null ? void 0 : context.appHelper) == null ? void 0 : _p.utils) == null ? void 0 : _q.isTerminal) == null ? void 0 : _r.call(_q)),
262
+ autoFocus: !((_v = (_u = (_t = context == null ? void 0 : context.appHelper) == null ? void 0 : _t.utils) == null ? void 0 : _u.isTerminal) == null ? void 0 : _v.call(_u)),
260
263
  ref: modalRef,
261
264
  onClose: handleClose,
262
265
  handleSelectClient,
@@ -266,11 +269,12 @@ var VerticalClient = (props) => {
266
269
  formData: state.pet.formData,
267
270
  searchChange,
268
271
  options: renderList,
269
- holder: (_s = state == null ? void 0 : state.bookingConfig) == null ? void 0 : _s.holder,
270
- client: (_t = state == null ? void 0 : state.client) == null ? void 0 : _t.value,
272
+ holder: (_w = state == null ? void 0 : state.bookingConfig) == null ? void 0 : _w.holder,
273
+ client: (_x = state == null ? void 0 : state.client) == null ? void 0 : _x.value,
271
274
  loadMore,
272
275
  showPet: (boardConfig == null ? void 0 : boardConfig.type) === "form",
273
- handleAddPet
276
+ handleAddPet,
277
+ franchiseeLoading
274
278
  }
275
279
  ));
276
280
  };
@@ -216,7 +216,6 @@ var Info = () => {
216
216
  }
217
217
  });
218
218
  };
219
- console.log("state.service.cacheItem", state.service.cacheItem);
220
219
  const renderList = (0, import_react.useMemo)(() => {
221
220
  var _a2;
222
221
  let _list = ((_a2 = state.service) == null ? void 0 : _a2.services) || [];
@@ -228,6 +227,7 @@ var Info = () => {
228
227
  search ? (item) => isIncludes(item.title) : void 0
229
228
  );
230
229
  }, [search, (_a = state.service) == null ? void 0 : _a.services]);
230
+ console.log("state.service.renderList", renderList);
231
231
  const isService = (0, import_react.useMemo)(() => {
232
232
  return state.service.value.length > 0;
233
233
  }, [state.service.value]);
@@ -205,7 +205,7 @@ var formatProductListByCategory = (list, filterItem) => {
205
205
  };
206
206
  }
207
207
  }
208
- return Object.values(categoryObject);
208
+ return Object.values(categoryObject).sort((a, b) => b.sort - a.sort);
209
209
  };
210
210
  var getResourceTimeIsUsable = (item, cacheItem) => {
211
211
  const startDate = (0, import_dayjs.default)(cacheItem._extend.start_date.format("YYYY-MM-DD") + " " + getServeStartTime(cacheItem._extend.start_time));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/private-materials",
3
- "version": "3.0.87",
3
+ "version": "3.0.88",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.js",
6
6
  "types": "./lib/index.d.ts",