@pisell/private-materials 3.0.199 → 3.0.200

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 (193) hide show
  1. package/build/lowcode/index.js +1 -1
  2. package/build/lowcode/meta.js +1 -1
  3. package/build/lowcode/preview.js +7 -7
  4. package/build/lowcode/render/default/view.css +1 -1
  5. package/build/lowcode/render/default/view.js +10 -10
  6. package/build/lowcode/view.css +1 -1
  7. package/build/lowcode/view.js +11 -11
  8. package/es/components/booking/components/customSelect/index.d.ts +1 -0
  9. package/es/components/booking/components/customSelect/index.js +6 -2
  10. package/es/components/booking/components/footer/AppointmentProductModal/index.d.ts +3 -0
  11. package/es/components/booking/components/footer/AppointmentProductModal/index.js +38 -0
  12. package/es/components/booking/components/footer/AppointmentProductModal/index.less +0 -0
  13. package/es/components/booking/components/footer/amount.js +45 -22
  14. package/es/components/booking/components/footer/index.js +84 -40
  15. package/es/components/booking/components/footer/utils.js +243 -32
  16. package/es/components/booking/info/addServiceVariant/index.js +8 -1
  17. package/es/components/booking/info/clientVariant/vertical/SelectDrawer.d.ts +1 -0
  18. package/es/components/booking/info/clientVariant/vertical/SelectDrawer.js +14 -13
  19. package/es/components/booking/info/clientVariant/vertical/index.js +33 -4
  20. package/es/components/booking/info/dateRange/index.d.ts +5 -0
  21. package/es/components/booking/info/dateRange/index.js +98 -0
  22. package/es/components/booking/info/dateRange/index.less +21 -0
  23. package/es/components/booking/info/main.js +20 -8
  24. package/es/components/booking/info/model.js +3 -0
  25. package/es/components/booking/info/pet/ChangePetModal/index.d.ts +4 -0
  26. package/es/components/booking/info/pet/ChangePetModal/index.js +119 -0
  27. package/es/components/booking/info/pet/ChangePetModal/index.less +4 -0
  28. package/es/components/booking/info/pet/index.js +54 -5
  29. package/es/components/booking/info/service/addService/index.js +142 -22
  30. package/es/components/booking/info/service/addService/index.less +13 -3
  31. package/es/components/booking/info/service/addService/utils.d.ts +11 -2
  32. package/es/components/booking/info/service/addService/utils.js +49 -24
  33. package/es/components/booking/info/service/editService/index.js +246 -44
  34. package/es/components/booking/info/service/editService/index.less +18 -13
  35. package/es/components/booking/info/service2/Lists.d.ts +3 -0
  36. package/es/components/booking/info/service2/Lists.js +158 -0
  37. package/es/components/booking/info/service2/hooks/useSelectPet.d.ts +6 -0
  38. package/es/components/booking/info/service2/hooks/useSelectPet.js +54 -0
  39. package/es/components/booking/info/service2/index.d.ts +3 -0
  40. package/es/components/booking/info/service2/index.js +58 -0
  41. package/es/components/booking/info/service2/status.d.ts +31 -0
  42. package/es/components/booking/info/service2/status.js +78 -0
  43. package/es/components/booking/info/service2/utils.d.ts +145 -0
  44. package/es/components/booking/info/service2/utils.js +438 -0
  45. package/es/components/booking/info/utils.d.ts +9 -0
  46. package/es/components/booking/info/utils.js +13 -0
  47. package/es/components/booking/locales.d.ts +60 -0
  48. package/es/components/booking/locales.js +75 -3
  49. package/es/components/booking/materiels/holder/index.d.ts +7 -0
  50. package/es/components/booking/materiels/holder/index.js +51 -0
  51. package/es/components/booking/model.d.ts +4 -1
  52. package/es/components/booking/model.js +4 -2
  53. package/es/components/booking/utils.d.ts +12 -3
  54. package/es/components/booking/utils.js +139 -23
  55. package/es/components/eftpos/form/index.js +6 -12
  56. package/es/components/eftpos/group/index.d.ts +2 -1
  57. package/es/components/eftpos/group/index.js +2 -1
  58. package/es/components/eftpos/index.js +2 -2
  59. package/es/components/eftposPay/helper.d.ts +0 -1
  60. package/es/components/eftposPay/helper.js +0 -14
  61. package/es/components/eftposPay/tyro/index.js +20 -51
  62. package/es/components/shoppingCart/Provider.d.ts +3 -0
  63. package/es/components/shoppingCart/Provider.js +86 -0
  64. package/es/components/shoppingCart/components/Cart/Product.d.ts +4 -0
  65. package/es/components/shoppingCart/components/Cart/Product.js +96 -0
  66. package/es/components/shoppingCart/components/Cart/index.d.ts +4 -0
  67. package/es/components/shoppingCart/components/Cart/index.js +72 -0
  68. package/es/components/shoppingCart/components/Cart/index.less +68 -0
  69. package/es/components/shoppingCart/components/Empty/index.d.ts +4 -0
  70. package/es/components/shoppingCart/components/Empty/index.js +14 -0
  71. package/es/components/shoppingCart/components/Empty/index.less +19 -0
  72. package/es/components/shoppingCart/components/Render/index.d.ts +4 -0
  73. package/es/components/shoppingCart/components/Render/index.js +68 -0
  74. package/es/components/shoppingCart/components/Render/index.less +2 -0
  75. package/es/components/shoppingCart/components/SelectHolderModal/index.d.ts +4 -0
  76. package/es/components/shoppingCart/components/SelectHolderModal/index.js +124 -0
  77. package/es/components/shoppingCart/components/SelectHolderModal/index.less +32 -0
  78. package/es/components/shoppingCart/hooks/useAddService.d.ts +3 -0
  79. package/es/components/shoppingCart/hooks/useAddService.js +23 -0
  80. package/es/components/shoppingCart/hooks/useClearCart.d.ts +3 -0
  81. package/es/components/shoppingCart/hooks/useClearCart.js +54 -0
  82. package/es/components/shoppingCart/hooks/useContext.d.ts +1 -0
  83. package/es/components/shoppingCart/hooks/useContext.js +5 -0
  84. package/es/components/shoppingCart/index.d.ts +4 -0
  85. package/es/components/shoppingCart/index.js +24 -0
  86. package/es/components/shoppingCart/locales.d.ts +33 -0
  87. package/es/components/shoppingCart/locales.js +38 -0
  88. package/es/components/shoppingCart/mock.d.ts +40 -0
  89. package/es/components/shoppingCart/mock.js +40 -0
  90. package/es/components/shoppingCart/status.d.ts +2 -0
  91. package/es/components/shoppingCart/status.js +22 -0
  92. package/es/components/shoppingCart/type.d.ts +39 -0
  93. package/es/components/shoppingCart/type.js +1 -0
  94. package/es/components/shoppingCart/utils.d.ts +63 -0
  95. package/es/components/shoppingCart/utils.js +119 -0
  96. package/es/index.d.ts +1 -0
  97. package/es/index.js +2 -1
  98. package/lib/components/booking/components/customSelect/index.d.ts +1 -0
  99. package/lib/components/booking/components/customSelect/index.js +6 -2
  100. package/lib/components/booking/components/footer/AppointmentProductModal/index.d.ts +3 -0
  101. package/lib/components/booking/components/footer/AppointmentProductModal/index.js +60 -0
  102. package/lib/components/booking/components/footer/AppointmentProductModal/index.less +0 -0
  103. package/lib/components/booking/components/footer/amount.js +26 -8
  104. package/lib/components/booking/components/footer/index.js +25 -4
  105. package/lib/components/booking/components/footer/utils.js +157 -31
  106. package/lib/components/booking/info/addServiceVariant/index.js +5 -0
  107. package/lib/components/booking/info/clientVariant/vertical/SelectDrawer.d.ts +1 -0
  108. package/lib/components/booking/info/clientVariant/vertical/SelectDrawer.js +8 -7
  109. package/lib/components/booking/info/clientVariant/vertical/index.js +36 -10
  110. package/lib/components/booking/info/dateRange/index.d.ts +5 -0
  111. package/lib/components/booking/info/dateRange/index.js +111 -0
  112. package/lib/components/booking/info/dateRange/index.less +21 -0
  113. package/lib/components/booking/info/main.js +11 -4
  114. package/lib/components/booking/info/model.js +3 -0
  115. package/lib/components/booking/info/pet/ChangePetModal/index.d.ts +4 -0
  116. package/lib/components/booking/info/pet/ChangePetModal/index.js +111 -0
  117. package/lib/components/booking/info/pet/ChangePetModal/index.less +4 -0
  118. package/lib/components/booking/info/pet/index.js +61 -25
  119. package/lib/components/booking/info/service/addService/index.js +107 -34
  120. package/lib/components/booking/info/service/addService/index.less +13 -3
  121. package/lib/components/booking/info/service/addService/utils.d.ts +11 -2
  122. package/lib/components/booking/info/service/addService/utils.js +31 -10
  123. package/lib/components/booking/info/service/editService/index.js +283 -125
  124. package/lib/components/booking/info/service/editService/index.less +18 -13
  125. package/lib/components/booking/info/service2/Lists.d.ts +3 -0
  126. package/lib/components/booking/info/service2/Lists.js +113 -0
  127. package/lib/components/booking/info/service2/hooks/useSelectPet.d.ts +6 -0
  128. package/lib/components/booking/info/service2/hooks/useSelectPet.js +50 -0
  129. package/lib/components/booking/info/service2/index.d.ts +3 -0
  130. package/lib/components/booking/info/service2/index.js +75 -0
  131. package/lib/components/booking/info/service2/status.d.ts +31 -0
  132. package/lib/components/booking/info/service2/status.js +81 -0
  133. package/lib/components/booking/info/service2/utils.d.ts +145 -0
  134. package/lib/components/booking/info/service2/utils.js +322 -0
  135. package/lib/components/booking/info/utils.d.ts +9 -0
  136. package/lib/components/booking/info/utils.js +6 -0
  137. package/lib/components/booking/locales.d.ts +60 -0
  138. package/lib/components/booking/locales.js +63 -3
  139. package/lib/components/booking/materiels/holder/index.d.ts +7 -0
  140. package/lib/components/booking/materiels/holder/index.js +65 -0
  141. package/lib/components/booking/model.d.ts +4 -1
  142. package/lib/components/booking/model.js +4 -2
  143. package/lib/components/booking/utils.d.ts +12 -3
  144. package/lib/components/booking/utils.js +87 -15
  145. package/lib/components/eftpos/form/index.js +6 -12
  146. package/lib/components/eftpos/group/index.d.ts +2 -1
  147. package/lib/components/eftpos/group/index.js +1 -0
  148. package/lib/components/eftpos/index.js +2 -2
  149. package/lib/components/eftposPay/helper.d.ts +0 -1
  150. package/lib/components/eftposPay/helper.js +0 -21
  151. package/lib/components/eftposPay/tyro/index.js +7 -36
  152. package/lib/components/shoppingCart/Provider.d.ts +3 -0
  153. package/lib/components/shoppingCart/Provider.js +110 -0
  154. package/lib/components/shoppingCart/components/Cart/Product.d.ts +4 -0
  155. package/lib/components/shoppingCart/components/Cart/Product.js +89 -0
  156. package/lib/components/shoppingCart/components/Cart/index.d.ts +4 -0
  157. package/lib/components/shoppingCart/components/Cart/index.js +77 -0
  158. package/lib/components/shoppingCart/components/Cart/index.less +68 -0
  159. package/lib/components/shoppingCart/components/Empty/index.d.ts +4 -0
  160. package/lib/components/shoppingCart/components/Empty/index.js +43 -0
  161. package/lib/components/shoppingCart/components/Empty/index.less +19 -0
  162. package/lib/components/shoppingCart/components/Render/index.d.ts +4 -0
  163. package/lib/components/shoppingCart/components/Render/index.js +79 -0
  164. package/lib/components/shoppingCart/components/Render/index.less +2 -0
  165. package/lib/components/shoppingCart/components/SelectHolderModal/index.d.ts +4 -0
  166. package/lib/components/shoppingCart/components/SelectHolderModal/index.js +116 -0
  167. package/lib/components/shoppingCart/components/SelectHolderModal/index.less +32 -0
  168. package/lib/components/shoppingCart/hooks/useAddService.d.ts +3 -0
  169. package/lib/components/shoppingCart/hooks/useAddService.js +55 -0
  170. package/lib/components/shoppingCart/hooks/useClearCart.d.ts +3 -0
  171. package/lib/components/shoppingCart/hooks/useClearCart.js +71 -0
  172. package/lib/components/shoppingCart/hooks/useContext.d.ts +1 -0
  173. package/lib/components/shoppingCart/hooks/useContext.js +31 -0
  174. package/lib/components/shoppingCart/index.d.ts +4 -0
  175. package/lib/components/shoppingCart/index.js +60 -0
  176. package/lib/components/shoppingCart/locales.d.ts +33 -0
  177. package/lib/components/shoppingCart/locales.js +56 -0
  178. package/lib/components/shoppingCart/mock.d.ts +40 -0
  179. package/lib/components/shoppingCart/mock.js +76 -0
  180. package/lib/components/shoppingCart/status.d.ts +2 -0
  181. package/lib/components/shoppingCart/status.js +60 -0
  182. package/lib/components/shoppingCart/type.d.ts +39 -0
  183. package/lib/components/shoppingCart/type.js +17 -0
  184. package/lib/components/shoppingCart/utils.d.ts +63 -0
  185. package/lib/components/shoppingCart/utils.js +92 -0
  186. package/lib/index.d.ts +1 -0
  187. package/lib/index.js +3 -0
  188. package/lowcode/shopping-cart/meta.ts +98 -0
  189. package/package.json +4 -4
  190. package/es/components/eftpos/receipt/index.d.ts +0 -24
  191. package/es/components/eftpos/receipt/index.js +0 -96
  192. package/lib/components/eftpos/receipt/index.d.ts +0 -24
  193. package/lib/components/eftpos/receipt/index.js +0 -88
@@ -0,0 +1,68 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import React, { useEffect, useRef, useState } from 'react';
8
+ import classNames from 'classnames';
9
+ import { useContext } from "../../hooks/useContext";
10
+ import Empty from "../Empty";
11
+ import { formatService } from "../../utils";
12
+ import SelectHolderModal from "../SelectHolderModal";
13
+ import Cart from "../Cart";
14
+ import "./index.less";
15
+ var Content = function Content() {
16
+ var _useContext = useContext(),
17
+ state = _useContext.state,
18
+ _onChange = _useContext.onChange;
19
+ var selectPetRef = useRef();
20
+ var _useState = useState([]),
21
+ _useState2 = _slicedToArray(_useState, 2),
22
+ pet = _useState2[0],
23
+ setPet = _useState2[1];
24
+ var isEmpty = state.isEmpty,
25
+ className = state.className,
26
+ holders = state.holders,
27
+ products = state.products,
28
+ isEdit = state.isEdit;
29
+
30
+ /**
31
+ * @title: 监听holder发生变化
32
+ * @description:
33
+ * @return {*}
34
+ * @Author: WangHan
35
+ * @Date: 2024-12-09 18:06
36
+ */
37
+ useEffect(function () {
38
+ var _holders = holders === null || holders === void 0 ? void 0 : holders.filter(function (item) {
39
+ return (item === null || item === void 0 ? void 0 : item.key) > 0;
40
+ });
41
+ console.log(isEdit, products, _holders, pet, 'wh_holder');
42
+
43
+ // 不是编辑页面,有选择的holder,没有记录的holder,并且有商品数据
44
+ if (_holders !== null && _holders !== void 0 && _holders.length && !(pet !== null && pet !== void 0 && pet.length) && products !== null && products !== void 0 && products.length && !isEdit) {
45
+ if (_holders.length === 1) {
46
+ var _holders$;
47
+ var _products = formatService(products, (_holders$ = _holders[0]) === null || _holders$ === void 0 ? void 0 : _holders$.key);
48
+ _onChange(_products);
49
+ } else {
50
+ var _selectPetRef$current, _selectPetRef$current2;
51
+ (_selectPetRef$current = selectPetRef.current) === null || _selectPetRef$current === void 0 ? void 0 : (_selectPetRef$current2 = _selectPetRef$current.open) === null || _selectPetRef$current2 === void 0 ? void 0 : _selectPetRef$current2.call(_selectPetRef$current, {
52
+ products: products,
53
+ holders: holders
54
+ });
55
+ }
56
+ }
57
+ setPet(_holders);
58
+ }, [holders]);
59
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
60
+ className: classNames('pisell-lowcode__shopping-cart-wrap', className)
61
+ }, isEmpty ? /*#__PURE__*/React.createElement(Empty, null) : /*#__PURE__*/React.createElement(Cart, null)), /*#__PURE__*/React.createElement(SelectHolderModal, {
62
+ ref: selectPetRef,
63
+ onChange: function onChange(e) {
64
+ return _onChange(e);
65
+ }
66
+ }));
67
+ };
68
+ export default Content;
@@ -0,0 +1,2 @@
1
+ .pisell-lowcode__shopping-cart-wrap {
2
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<unknown>>;
4
+ export default _default;
@@ -0,0 +1,124 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
10
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
16
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
+ import React, { forwardRef, useImperativeHandle, useState, useMemo } from 'react';
18
+ import { PisellModal } from '@pisell/materials';
19
+ import { locales } from '@pisell/utils';
20
+ import { formatService } from "../../utils";
21
+ import { Select } from 'antd';
22
+ import "./index.less";
23
+ var SelectPetModal = function SelectPetModal(_ref, ref) {
24
+ var onChange = _ref.onChange;
25
+ var _useState = useState(false),
26
+ _useState2 = _slicedToArray(_useState, 2),
27
+ open = _useState2[0],
28
+ setOpen = _useState2[1];
29
+ var _useState3 = useState(null),
30
+ _useState4 = _slicedToArray(_useState3, 2),
31
+ params = _useState4[0],
32
+ setParams = _useState4[1];
33
+ useImperativeHandle(ref, function () {
34
+ return {
35
+ open: function open(_ref2) {
36
+ var _holders$;
37
+ var products = _ref2.products,
38
+ holders = _ref2.holders;
39
+ var _holders = holders === null || holders === void 0 ? void 0 : holders.filter(function (item) {
40
+ return item.key > 0;
41
+ });
42
+ // 将service默认的holder_id设置为当前第一个宠物的id
43
+ var service = formatService(products, _holders === null || _holders === void 0 ? void 0 : (_holders$ = _holders[0]) === null || _holders$ === void 0 ? void 0 : _holders$.key);
44
+ setParams({
45
+ service: service,
46
+ holders: _holders
47
+ });
48
+ setOpen(true);
49
+ }
50
+ };
51
+ });
52
+ var handleChange = function handleChange(e, index) {
53
+ var _lists = _toConsumableArray(params === null || params === void 0 ? void 0 : params.service);
54
+ _lists[index]._extend.holder_id = e;
55
+ console.log(e, index, _lists, 'wh79876');
56
+ setParams(_objectSpread(_objectSpread({}, params), {}, {
57
+ service: _lists
58
+ }));
59
+ };
60
+
61
+ /**
62
+ * @title: 弹窗内容
63
+ * @description:
64
+ * @param {*} useMemo
65
+ * @return {*}
66
+ * @Author: WangHan
67
+ * @Date: 2024-12-03 16:26
68
+ */
69
+ var content = useMemo(function () {
70
+ var _params$holders;
71
+ var services = (params === null || params === void 0 ? void 0 : params.service) || [];
72
+ var options = params === null || params === void 0 ? void 0 : (_params$holders = params.holders) === null || _params$holders === void 0 ? void 0 : _params$holders.map(function (item) {
73
+ return {
74
+ value: item.key,
75
+ label: item.main_field
76
+ };
77
+ });
78
+ return /*#__PURE__*/React.createElement("div", {
79
+ className: "pisell-lowcode__booking-select-pet-content"
80
+ }, services === null || services === void 0 ? void 0 : services.map(function (item, index) {
81
+ var _options$;
82
+ return /*#__PURE__*/React.createElement("div", {
83
+ className: "pisell-lowcode__booking-select-pet-item",
84
+ key: item._id
85
+ }, /*#__PURE__*/React.createElement("span", null, " ", item.title), /*#__PURE__*/React.createElement(Select, {
86
+ defaultValue: (_options$ = options[0]) === null || _options$ === void 0 ? void 0 : _options$.value,
87
+ onChange: function onChange(e) {
88
+ return handleChange(e, index);
89
+ },
90
+ options: options
91
+ }));
92
+ }));
93
+ }, [params === null || params === void 0 ? void 0 : params.service, params === null || params === void 0 ? void 0 : params.pets]);
94
+ var handleCancel = function handleCancel() {
95
+ setOpen(false);
96
+ };
97
+
98
+ /**
99
+ * @title: 点击确定
100
+ * @description:
101
+ * @return {*}
102
+ * @Author: WangHan
103
+ * @Date: 2024-12-03 17:05
104
+ */
105
+ var handleOk = function handleOk() {
106
+ onChange(params === null || params === void 0 ? void 0 : params.service);
107
+ handleCancel();
108
+ };
109
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PisellModal, {
110
+ platform: 'pc',
111
+ open: open,
112
+ bodyStyle: {
113
+ padding: 0
114
+ },
115
+ title: locales.getText('pisell2.text.shopping-cart.select.holder.modal.title'),
116
+ okText: locales.getText('pisell2.text.shopping-cart.confirm'),
117
+ cancelText: locales.getText('pisell2.text.shopping-cart.cancel'),
118
+ onCancel: handleCancel,
119
+ onOk: handleOk,
120
+ destroyOnClose: true,
121
+ className: "pisell-lowcode__booking-select-pet-modal-wrap"
122
+ }, content));
123
+ };
124
+ export default /*#__PURE__*/forwardRef(SelectPetModal);
@@ -0,0 +1,32 @@
1
+ .pisell-lowcode__booking-select-pet-modal-wrap {
2
+ .pisell-lowcode-modal-body {
3
+ padding: 24px !important;
4
+ overflow-y: auto !important;
5
+ max-height: 80vh;
6
+
7
+ .pisell-lowcode__booking-select-pet-content {
8
+ display: flex;
9
+ flex-direction: column;
10
+ gap: 20px;
11
+
12
+ .pisell-lowcode__booking-select-pet-item {
13
+ display: flex;
14
+ padding: 8px 16px;
15
+ justify-content: space-between;
16
+ align-items: center;
17
+ align-self: stretch;
18
+ border-radius: 12px;
19
+ border: 1px solid var(--Gray-300, #d0d5dd);
20
+
21
+ .pisell-lowcode-select-selector {
22
+ display: flex;
23
+ padding: 6px 16px;
24
+ align-items: center;
25
+ gap: 8px;
26
+ border-radius: 20px;
27
+ border: 1px solid var(--Gray-300, #d0d5dd);
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const useAddService: (id?: number, type?: string) => React.JSX.Element | null;
3
+ export default useAddService;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import classNames from 'classnames';
3
+ import { Iconfont } from '@pisell/materials';
4
+ import { useContext } from "./useContext";
5
+ import { locales } from '@pisell/utils';
6
+ var useAddService = function useAddService(id, type) {
7
+ var _useContext = useContext(),
8
+ state = _useContext.state,
9
+ onAddProduct = _useContext.onAddProduct;
10
+ var isProductList = state.isProductList,
11
+ disabledEdit = state.disabledEdit;
12
+ return !disabledEdit ? /*#__PURE__*/React.createElement("div", {
13
+ className: classNames('pisell-lowcode__shopping-cart-add-service', {
14
+ 'pisell-lowcode__shopping-cart-add-service-products': isProductList
15
+ }),
16
+ onClick: function onClick() {
17
+ return onAddProduct(id);
18
+ }
19
+ }, /*#__PURE__*/React.createElement(Iconfont, {
20
+ type: "pisell2-plus-circle"
21
+ }), /*#__PURE__*/React.createElement("span", null, type === 'more' ? locales.getText('pisell2.text.shopping-cart.add.more') : locales.getText('pisell2.text.shopping-cart.add.service'))) : null;
22
+ };
23
+ export default useAddService;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const useClearCart: (key?: number | undefined) => React.JSX.Element | null;
3
+ export default useClearCart;
@@ -0,0 +1,54 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7
+ import React from 'react';
8
+ import classNames from 'classnames';
9
+ import { Iconfont } from '@pisell/materials';
10
+ import { useContext } from "./useContext";
11
+ import { locales } from '@pisell/utils';
12
+ import { updateProduct } from "../utils";
13
+ var useClearCart = function useClearCart(key) {
14
+ var _useContext = useContext(),
15
+ state = _useContext.state,
16
+ updateState = _useContext.updateState,
17
+ onChange = _useContext.onChange;
18
+ var isProductList = state.isProductList,
19
+ disabledEdit = state.disabledEdit;
20
+
21
+ /**
22
+ * @title: 清空购物车
23
+ * @description:
24
+ * @return {*}
25
+ * @Author: WangHan
26
+ * @Date: 2024-11-28 22:47
27
+ */
28
+ var handleClear = function handleClear() {
29
+ var products = _toConsumableArray((state === null || state === void 0 ? void 0 : state.products) || []);
30
+
31
+ // 没传递key则清空所有的商品
32
+ if (typeof key === 'undefined') {
33
+ products = [];
34
+ } else {
35
+ products = products.filter(function (item) {
36
+ var _item$_extend;
37
+ return (item === null || item === void 0 ? void 0 : (_item$_extend = item._extend) === null || _item$_extend === void 0 ? void 0 : _item$_extend.holder_id) !== key;
38
+ });
39
+ }
40
+
41
+ // 更新state
42
+ updateState(updateProduct(state, products));
43
+ onChange(products);
44
+ };
45
+ return !disabledEdit ? /*#__PURE__*/React.createElement("span", {
46
+ className: classNames('pisell-lowcode__shopping-cart-clear-btn', {
47
+ 'pisell-lowcode__shopping-cart-clear-btn-empty': isProductList
48
+ }),
49
+ onClick: handleClear
50
+ }, /*#__PURE__*/React.createElement(Iconfont, {
51
+ type: "pisell2-trash-01"
52
+ }), /*#__PURE__*/React.createElement("span", null, locales.getText('pisell2.booking.info.text.clear-cart'))) : null;
53
+ };
54
+ export default useClearCart;
@@ -0,0 +1 @@
1
+ export declare const useContext: () => any;
@@ -0,0 +1,5 @@
1
+ import { useContext as useReactContext } from 'react';
2
+ import { CartContext } from "../Provider";
3
+ export var useContext = function useContext() {
4
+ return useReactContext(CartContext);
5
+ };
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { shoppingCartProps } from './type';
3
+ declare const shoppingCart: ({ onCard, onChange, onAddProduct, onActiveKey, ...props }: shoppingCartProps) => React.JSX.Element;
4
+ export default shoppingCart;
@@ -0,0 +1,24 @@
1
+ var _excluded = ["onCard", "onChange", "onAddProduct", "onActiveKey"];
2
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
3
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
4
+ import React from 'react';
5
+ import Render from "./components/Render";
6
+ import { CartProvider } from "./Provider";
7
+ import { locales } from '@pisell/utils';
8
+ import localeTexts from "./locales";
9
+ locales.init(localeTexts, localStorage.getItem('umi_locale') || 'en');
10
+ var shoppingCart = function shoppingCart(_ref) {
11
+ var onCard = _ref.onCard,
12
+ onChange = _ref.onChange,
13
+ onAddProduct = _ref.onAddProduct,
14
+ onActiveKey = _ref.onActiveKey,
15
+ props = _objectWithoutProperties(_ref, _excluded);
16
+ return /*#__PURE__*/React.createElement(CartProvider, {
17
+ props: props,
18
+ onCard: onCard,
19
+ onChange: onChange,
20
+ onAddProduct: onAddProduct,
21
+ onActiveKey: onActiveKey
22
+ }, /*#__PURE__*/React.createElement(Render, null));
23
+ };
24
+ export default shoppingCart;
@@ -0,0 +1,33 @@
1
+ declare const _default: {
2
+ en: {
3
+ 'pisell2.text.shopping-cart.item': (num: number) => string;
4
+ 'pisell2.text.shopping-cart.clear.cart': string;
5
+ 'pisell2.text.shopping-cart.add.service': string;
6
+ 'pisell2.text.shopping-cart.add.more': string;
7
+ 'pisell2.text.shopping-cart.no.selected': string;
8
+ 'pisell2.text.shopping-cart.confirm': string;
9
+ 'pisell2.text.shopping-cart.cancel': string;
10
+ 'pisell2.text.shopping-cart.select.holder.modal.title': string;
11
+ };
12
+ 'zh-CN': {
13
+ 'pisell2.text.shopping-cart.item': (num: number) => string;
14
+ 'pisell2.text.shopping-cart.clear.cart': string;
15
+ 'pisell2.text.shopping-cart.add.service': string;
16
+ 'pisell2.text.shopping-cart.add.more': string;
17
+ 'pisell2.text.shopping-cart.no.selected': string;
18
+ 'pisell2.text.shopping-cart.confirm': string;
19
+ 'pisell2.text.shopping-cart.cancel': string;
20
+ 'pisell2.text.shopping-cart.select.holder.modal.title': string;
21
+ };
22
+ 'zh-HK': {
23
+ 'pisell2.text.shopping-cart.item': (num: number) => string;
24
+ 'pisell2.text.shopping-cart.clear.cart': string;
25
+ 'pisell2.text.shopping-cart.add.service': string;
26
+ 'pisell2.text.shopping-cart.add.more': string;
27
+ 'pisell2.text.shopping-cart.no.selected': string;
28
+ 'pisell2.text.shopping-cart.confirm': string;
29
+ 'pisell2.text.shopping-cart.cancel': string;
30
+ 'pisell2.text.shopping-cart.select.holder.modal.title': string;
31
+ };
32
+ };
33
+ export default _default;
@@ -0,0 +1,38 @@
1
+ export default {
2
+ "en": {
3
+ 'pisell2.text.shopping-cart.item': function pisell2TextShoppingCartItem(num) {
4
+ return "(".concat(num, " ").concat(num > 1 ? 'items' : 'item', ")");
5
+ },
6
+ 'pisell2.text.shopping-cart.clear.cart': 'Clear cart',
7
+ 'pisell2.text.shopping-cart.add.service': 'Add items',
8
+ 'pisell2.text.shopping-cart.add.more': 'Add more',
9
+ 'pisell2.text.shopping-cart.no.selected': 'No items selected',
10
+ 'pisell2.text.shopping-cart.confirm': 'Confirm',
11
+ 'pisell2.text.shopping-cart.cancel': 'Cancel',
12
+ 'pisell2.text.shopping-cart.select.holder.modal.title': 'Item Assignment'
13
+ },
14
+ 'zh-CN': {
15
+ 'pisell2.text.shopping-cart.item': function pisell2TextShoppingCartItem(num) {
16
+ return "(".concat(num, " \u9879)");
17
+ },
18
+ 'pisell2.text.shopping-cart.clear.cart': '清空购物车',
19
+ 'pisell2.text.shopping-cart.add.service': '添加项目',
20
+ 'pisell2.text.shopping-cart.add.more': '添加更多',
21
+ 'pisell2.text.shopping-cart.no.selected': '未选择任何项目',
22
+ 'pisell2.text.shopping-cart.confirm': '确定',
23
+ 'pisell2.text.shopping-cart.cancel': '取消',
24
+ 'pisell2.text.shopping-cart.select.holder.modal.title': '商品分配'
25
+ },
26
+ 'zh-HK': {
27
+ 'pisell2.text.shopping-cart.item': function pisell2TextShoppingCartItem(num) {
28
+ return "(".concat(num, " \u9805)");
29
+ },
30
+ 'pisell2.text.shopping-cart.clear.cart': '清空購物車',
31
+ 'pisell2.text.shopping-cart.add.service': '添加項目',
32
+ 'pisell2.text.shopping-cart.add.more': '添加更多',
33
+ 'pisell2.text.shopping-cart.no.selected': '未選擇任何項目',
34
+ 'pisell2.text.shopping-cart.confirm': '確定',
35
+ 'pisell2.text.shopping-cart.cancel': '取消',
36
+ 'pisell2.text.shopping-cart.select.holder.modal.title': '商品分配'
37
+ }
38
+ };
@@ -0,0 +1,40 @@
1
+ export declare const holder: {
2
+ key: number;
3
+ label: string;
4
+ tip: string;
5
+ img: string;
6
+ }[];
7
+ export declare const products: ({
8
+ id: number;
9
+ title: string;
10
+ from_id: number;
11
+ holder: string;
12
+ price: number;
13
+ total: number;
14
+ num: number;
15
+ origin_price: number;
16
+ symbol: string;
17
+ relation_form_name: string;
18
+ like_status: string;
19
+ _extend: {
20
+ start_time: string;
21
+ duration: number;
22
+ date: string;
23
+ like_status: string;
24
+ };
25
+ product_cover: string;
26
+ } | {
27
+ id: number;
28
+ title: string;
29
+ from_id: number;
30
+ holder: string;
31
+ price: number;
32
+ total: number;
33
+ num: number;
34
+ symbol: string;
35
+ origin_price?: undefined;
36
+ relation_form_name?: undefined;
37
+ like_status?: undefined;
38
+ _extend?: undefined;
39
+ product_cover?: undefined;
40
+ })[];
@@ -0,0 +1,40 @@
1
+ export var holder = [{
2
+ key: 1,
3
+ label: '旺旺',
4
+ tip: 'french',
5
+ img: 'https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg'
6
+ }, {
7
+ key: 2,
8
+ label: '咪咪',
9
+ tip: 'french',
10
+ img: 'https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg'
11
+ }];
12
+ export var products = [{
13
+ id: 1,
14
+ title: '旺旺1',
15
+ from_id: 1,
16
+ holder: 'holder1',
17
+ price: 4,
18
+ total: 5,
19
+ num: 2,
20
+ origin_price: 6,
21
+ symbol: '&',
22
+ relation_form_name: 'Room1',
23
+ like_status: 'like',
24
+ _extend: {
25
+ start_time: '2024-10-23 18:40:00',
26
+ duration: 120,
27
+ date: '2024-10-27 18:40:00',
28
+ like_status: 'like'
29
+ },
30
+ product_cover: 'https://file.mypisell.com/pisel/manual/janedeer/2024-2-8/25.png'
31
+ }, {
32
+ id: 2,
33
+ title: '旺旺2',
34
+ from_id: 1,
35
+ holder: 'Room2',
36
+ price: 4,
37
+ total: 4,
38
+ num: 2,
39
+ symbol: '&'
40
+ }];
@@ -0,0 +1,2 @@
1
+ import { shoppingCartProps } from './type';
2
+ export declare const defaultData: shoppingCartProps;
@@ -0,0 +1,22 @@
1
+ import { locales } from '@pisell/utils';
2
+ import localeTexts from "./locales";
3
+ locales.init(localeTexts, localStorage.getItem('umi_locale') || 'en');
4
+ var productDefault = {
5
+ hideAddBtn: false,
6
+ isShowNote: true,
7
+ isShowPackageNote: true,
8
+ holders: [],
9
+ products: [],
10
+ isEdit: false,
11
+ disabledEdit: false
12
+ };
13
+ export var defaultData = {
14
+ isOpenGroup: true,
15
+ carts: [],
16
+ platform: 'shop',
17
+ emptyText: locales.getText('pisell2.text.shopping-cart.no.selected'),
18
+ activeKey: [],
19
+ defaultActiveKey: [],
20
+ className: '',
21
+ productParams: productDefault
22
+ };
@@ -0,0 +1,39 @@
1
+ import { CollapseProps } from 'antd';
2
+ export interface productProps {
3
+ hideAddBtn?: boolean;
4
+ isShowNote?: boolean;
5
+ isShowPackageNote?: boolean;
6
+ products?: any[];
7
+ holders?: any[];
8
+ isEdit?: boolean;
9
+ disabledEdit?: boolean;
10
+ }
11
+ export interface shoppingCartProps {
12
+ isOpenGroup?: boolean;
13
+ carts?: any[];
14
+ platform?: 'shop' | 'h5';
15
+ emptyText?: string;
16
+ activeKey?: string[] | number[];
17
+ defaultActiveKey?: string[] | number[];
18
+ className?: string;
19
+ onCard?: (e: any) => void;
20
+ onChange?: (e: any) => void;
21
+ onAddProduct?: (e?: any) => void;
22
+ onActiveKey?: (e: any) => void;
23
+ isShowImage?: boolean;
24
+ isShowHolder?: boolean;
25
+ isShowDelete?: boolean;
26
+ collapseParams?: CollapseProps;
27
+ productParams?: productProps;
28
+ }
29
+ /**
30
+ * @title: 商品卡片
31
+ * @description:
32
+ * @return {*}
33
+ * @Author: WangHan
34
+ * @Date: 2024-11-29 09:52
35
+ */
36
+ export interface ProductProps {
37
+ id?: any;
38
+ lists: any[];
39
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @title: 格式化购物车列表
3
+ * @description:
4
+ * @param {any} state
5
+ * @return {*}
6
+ * @Author: WangHan
7
+ * @Date: 2024-11-28 16:52
8
+ */
9
+ export declare const formatCartList: (state: any) => any;
10
+ /**
11
+ * @title: 是否是空页面
12
+ * @description:
13
+ * @param {any} state
14
+ * @return {*}
15
+ * @Author: WangHan
16
+ * @Date: 2024-11-28 16:47
17
+ */
18
+ export declare const isEmptyStatus: (state: any) => boolean;
19
+ /**
20
+ * @title: 是否是商品列表页面
21
+ * @description:
22
+ * @param {any} state
23
+ * @return {*}
24
+ * @Author: WangHan
25
+ * @Date: 2024-11-28 17:23
26
+ */
27
+ export declare const isProductList: (state: any) => boolean;
28
+ /**
29
+ * @title: 格式化数据最终结果
30
+ * @description:
31
+ * @param {any} state
32
+ * @return {*}
33
+ * @Author: WangHan
34
+ * @Date: 2024-11-28 18:35
35
+ */
36
+ export declare const formatState: (state: any) => {
37
+ isEmpty: boolean;
38
+ isProductList: boolean;
39
+ carts: any;
40
+ };
41
+ /**
42
+ * @title: 更新商品
43
+ * @description:
44
+ * @param {any} newState
45
+ * @param {any} state
46
+ * @return {*}
47
+ * @Author: WangHan
48
+ * @Date: 2024-11-28 22:30
49
+ */
50
+ export declare const updateProduct: (state: any, newProducts: any[]) => {
51
+ products: any[];
52
+ carts: any;
53
+ };
54
+ /**
55
+ * @title: 格式化服务
56
+ * @description:
57
+ * @param {any} service
58
+ * @param {number} id holder_id
59
+ * @return {*}
60
+ * @Author: WangHan
61
+ * @Date: 2024-12-09 22:47
62
+ */
63
+ export declare const formatService: (service: any[], id: number) => any[];