@pisell/private-materials 6.3.103 → 6.3.105

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 (134) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +2 -2
  6. package/build/lowcode/preview.js +152 -152
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +18 -10
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +18 -10
  11. package/es/components/booking/notes/NoteBlock/index.js +3 -2
  12. package/es/components/eftposPay/store/index.d.ts +1 -1
  13. package/es/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  14. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  15. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  16. package/es/components/pay/toC/PaymentMethods/MWCreditCard/List/index.js +32 -16
  17. package/es/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +16 -10
  18. package/es/components/shoppingCart/components/Empty/index.d.ts +0 -1
  19. package/es/hooks/usePaymentLogger.d.ts +1 -0
  20. package/es/index.d.ts +4 -2
  21. package/es/index.js +3 -1
  22. package/es/plus/contactInfo/components/SwipeAction/index.js +1 -1
  23. package/es/plus/orderList/components/HandleActions.d.ts +1 -0
  24. package/es/plus/orderList/components/HandleActions.js +5 -2
  25. package/es/plus/orderList/components/Toolbar.d.ts +1 -0
  26. package/es/plus/orderList/components/Toolbar.js +4 -2
  27. package/es/plus/orderList/index.d.ts +1 -0
  28. package/es/plus/orderList/index.js +7 -2
  29. package/es/plus/pisellSalesGrid/PisellSalesGrid.d.ts +5 -0
  30. package/es/plus/pisellSalesGrid/PisellSalesGrid.js +363 -0
  31. package/es/plus/pisellSalesGrid/PisellSalesGrid.less +16 -0
  32. package/es/plus/pisellSalesGrid/PisellSalesGrid.stories.d.ts +14 -0
  33. package/es/plus/pisellSalesGrid/PisellSalesGrid.stories.js +559 -0
  34. package/es/plus/pisellSalesGrid/hooks/useActions.d.ts +19 -0
  35. package/es/plus/pisellSalesGrid/hooks/useActions.js +723 -0
  36. package/es/plus/pisellSalesGrid/index.d.ts +4 -0
  37. package/es/plus/pisellSalesGrid/index.js +3 -0
  38. package/es/plus/pisellSalesGrid/locales.d.ts +9 -0
  39. package/es/plus/pisellSalesGrid/locales.js +8 -0
  40. package/es/plus/pisellSalesGrid/serve.d.ts +19 -0
  41. package/es/plus/pisellSalesGrid/serve.js +151 -0
  42. package/es/plus/pisellSalesGrid/types.d.ts +170 -0
  43. package/es/plus/pisellSalesGrid/types.js +1 -0
  44. package/es/plus/pisellSalesManagement/components/BookingFormsPreview.d.ts +15 -0
  45. package/es/plus/pisellSalesManagement/components/BookingFormsPreview.js +211 -0
  46. package/es/plus/pisellSalesManagement/components/BookingNotesPreview.d.ts +19 -0
  47. package/es/plus/pisellSalesManagement/components/BookingNotesPreview.js +167 -0
  48. package/es/plus/pisellSalesManagement/components/ResourceSelector.d.ts +9 -0
  49. package/es/plus/pisellSalesManagement/components/ResourceSelector.js +102 -0
  50. package/es/plus/pisellSalesManagement/config/booking.d.ts +186 -0
  51. package/es/plus/pisellSalesManagement/config/booking.js +380 -0
  52. package/es/plus/pisellSalesManagement/config/index.d.ts +2 -0
  53. package/es/plus/pisellSalesManagement/config/index.js +11 -0
  54. package/es/plus/pisellSalesManagement/config/order.d.ts +172 -0
  55. package/es/plus/pisellSalesManagement/config/order.js +460 -0
  56. package/es/plus/pisellSalesManagement/hooks/perspectiveUtils.d.ts +15 -0
  57. package/es/plus/pisellSalesManagement/hooks/perspectiveUtils.js +66 -0
  58. package/es/plus/pisellSalesManagement/hooks/useBookingPerspective.d.ts +2 -0
  59. package/es/plus/pisellSalesManagement/hooks/useBookingPerspective.js +651 -0
  60. package/es/plus/pisellSalesManagement/hooks/useOrderPerspective.d.ts +2 -0
  61. package/es/plus/pisellSalesManagement/hooks/useOrderPerspective.js +656 -0
  62. package/es/plus/pisellSalesManagement/hooks/usePerspectives.d.ts +5 -0
  63. package/es/plus/pisellSalesManagement/hooks/usePerspectives.js +12 -0
  64. package/es/plus/pisellSalesManagement/index.d.ts +10 -0
  65. package/es/plus/pisellSalesManagement/index.js +84 -0
  66. package/es/plus/pisellSalesManagement/locales.d.ts +303 -0
  67. package/es/plus/pisellSalesManagement/locales.js +302 -0
  68. package/es/plus/pisellSalesManagement/serve.d.ts +26 -0
  69. package/es/plus/pisellSalesManagement/serve.js +222 -0
  70. package/es/plus/selectHolder/components/ErrorTip/index.d.ts +0 -1
  71. package/lib/components/booking/notes/NoteBlock/index.js +2 -1
  72. package/lib/components/eftposPay/store/index.d.ts +1 -1
  73. package/lib/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  74. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  75. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  76. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/List/index.js +19 -11
  77. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +21 -22
  78. package/lib/components/shoppingCart/components/Empty/index.d.ts +0 -1
  79. package/lib/hooks/usePaymentLogger.d.ts +1 -0
  80. package/lib/index.d.ts +4 -2
  81. package/lib/index.js +8 -2
  82. package/lib/plus/contactInfo/components/SwipeAction/index.js +23 -23
  83. package/lib/plus/orderList/components/HandleActions.d.ts +1 -0
  84. package/lib/plus/orderList/components/HandleActions.js +2 -2
  85. package/lib/plus/orderList/components/Toolbar.d.ts +1 -0
  86. package/lib/plus/orderList/components/Toolbar.js +2 -2
  87. package/lib/plus/orderList/index.d.ts +1 -0
  88. package/lib/plus/orderList/index.js +3 -3
  89. package/lib/plus/pisellSalesGrid/PisellSalesGrid.d.ts +5 -0
  90. package/lib/plus/pisellSalesGrid/PisellSalesGrid.js +339 -0
  91. package/lib/plus/pisellSalesGrid/PisellSalesGrid.less +16 -0
  92. package/lib/plus/pisellSalesGrid/PisellSalesGrid.stories.d.ts +14 -0
  93. package/lib/plus/pisellSalesGrid/PisellSalesGrid.stories.js +455 -0
  94. package/lib/plus/pisellSalesGrid/hooks/useActions.d.ts +19 -0
  95. package/lib/plus/pisellSalesGrid/hooks/useActions.js +545 -0
  96. package/lib/plus/pisellSalesGrid/index.d.ts +4 -0
  97. package/lib/plus/pisellSalesGrid/index.js +42 -0
  98. package/lib/plus/pisellSalesGrid/locales.d.ts +9 -0
  99. package/lib/plus/pisellSalesGrid/locales.js +29 -0
  100. package/lib/plus/pisellSalesGrid/serve.d.ts +19 -0
  101. package/lib/plus/pisellSalesGrid/serve.js +142 -0
  102. package/lib/plus/pisellSalesGrid/types.d.ts +170 -0
  103. package/lib/plus/pisellSalesGrid/types.js +17 -0
  104. package/lib/plus/pisellSalesManagement/components/BookingFormsPreview.d.ts +15 -0
  105. package/lib/plus/pisellSalesManagement/components/BookingFormsPreview.js +250 -0
  106. package/lib/plus/pisellSalesManagement/components/BookingNotesPreview.d.ts +19 -0
  107. package/lib/plus/pisellSalesManagement/components/BookingNotesPreview.js +193 -0
  108. package/lib/plus/pisellSalesManagement/components/ResourceSelector.d.ts +9 -0
  109. package/lib/plus/pisellSalesManagement/components/ResourceSelector.js +106 -0
  110. package/lib/plus/pisellSalesManagement/config/booking.d.ts +186 -0
  111. package/lib/plus/pisellSalesManagement/config/booking.js +500 -0
  112. package/lib/plus/pisellSalesManagement/config/index.d.ts +2 -0
  113. package/lib/plus/pisellSalesManagement/config/index.js +43 -0
  114. package/lib/plus/pisellSalesManagement/config/order.d.ts +172 -0
  115. package/lib/plus/pisellSalesManagement/config/order.js +492 -0
  116. package/lib/plus/pisellSalesManagement/hooks/perspectiveUtils.d.ts +15 -0
  117. package/lib/plus/pisellSalesManagement/hooks/perspectiveUtils.js +113 -0
  118. package/lib/plus/pisellSalesManagement/hooks/useBookingPerspective.d.ts +2 -0
  119. package/lib/plus/pisellSalesManagement/hooks/useBookingPerspective.js +699 -0
  120. package/lib/plus/pisellSalesManagement/hooks/useOrderPerspective.d.ts +2 -0
  121. package/lib/plus/pisellSalesManagement/hooks/useOrderPerspective.js +700 -0
  122. package/lib/plus/pisellSalesManagement/hooks/usePerspectives.d.ts +5 -0
  123. package/lib/plus/pisellSalesManagement/hooks/usePerspectives.js +42 -0
  124. package/lib/plus/pisellSalesManagement/index.d.ts +10 -0
  125. package/lib/plus/pisellSalesManagement/index.js +113 -0
  126. package/lib/plus/pisellSalesManagement/locales.d.ts +303 -0
  127. package/lib/plus/pisellSalesManagement/locales.js +326 -0
  128. package/lib/plus/pisellSalesManagement/serve.d.ts +26 -0
  129. package/lib/plus/pisellSalesManagement/serve.js +120 -0
  130. package/lib/plus/selectHolder/components/ErrorTip/index.d.ts +0 -1
  131. package/lowcode/eco-cup-list/meta.ts +1 -1
  132. package/lowcode/eco-customer-list/meta.ts +1 -1
  133. package/lowcode/pisell-sales-management/meta.ts +88 -0
  134. package/package.json +3 -3
@@ -0,0 +1,4 @@
1
+ import PisellSalesGrid from './PisellSalesGrid';
2
+ export default PisellSalesGrid;
3
+ export { default as PisellSalesGrid } from './PisellSalesGrid';
4
+ export type { PisellSalesGridProps, SalesGridPerspectiveConfig, SalesGridRuntimeContext, SalesGridColumnRenderer, RecordBoardChildComponentPropsCompat, RecordBoardToolBarPropsCompat, RecordBoardGridPropsCompat, RecordBoardToolBarSortCompat, RecordBoardToolBarFilterCompat, RecordBoardToolBarQuickFilterCompat, SortListItemCompat, SortOptionItemCompat, FilterItemPropsCompat, FilterDefaultValueCompat, } from './types';
@@ -0,0 +1,3 @@
1
+ import PisellSalesGrid from "./PisellSalesGrid";
2
+ export default PisellSalesGrid;
3
+ export { default as PisellSalesGrid } from "./PisellSalesGrid";
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Sales Grid 无独立文案:ToolBar / 翻页 / 批量操作栏 文案已放在 materials RecordBoard 相关 locales
3
+ */
4
+ declare const _default: {
5
+ en: {};
6
+ 'zh-CN': {};
7
+ 'zh-HK': {};
8
+ };
9
+ export default _default;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Sales Grid 无独立文案:ToolBar / 翻页 / 批量操作栏 文案已放在 materials RecordBoard 相关 locales
3
+ */
4
+ export default {
5
+ en: {},
6
+ 'zh-CN': {},
7
+ 'zh-HK': {}
8
+ };
@@ -0,0 +1,19 @@
1
+ export declare const getOrderList: (params: Record<string, any>) => Promise<any>;
2
+ export interface GetBookingListParams {
3
+ num: number;
4
+ skip: number;
5
+ business_code?: string;
6
+ with?: string[];
7
+ item_type?: string;
8
+ item_types?: string[];
9
+ booking_time_start_between?: string;
10
+ keywords?: string;
11
+ is_deposit?: number;
12
+ child_booking?: number;
13
+ parent_id?: number;
14
+ exclude_status?: string[];
15
+ wallet_pass_code?: string;
16
+ order_by?: string;
17
+ [key: string]: any;
18
+ }
19
+ export declare const getBookingList: (params: Record<string, any>) => Promise<any>;
@@ -0,0 +1,151 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["orderDate", "total_amount", "sort"],
3
+ _excluded2 = ["booking_time_start_between", "created_at_between", "updated_at_between", "number_between", "total_amount_between", "sort"];
4
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
5
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
6
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
7
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
+ 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; }
10
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
11
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
12
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13
+ 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."); }
14
+ 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); }
15
+ 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; }
16
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
17
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
+ 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; }
19
+ 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; }
20
+ import { request } from "../../utils";
21
+ import dayjs from 'dayjs';
22
+ var formatParams = function formatParams(params) {
23
+ var orderDate = params.orderDate,
24
+ total_amount = params.total_amount,
25
+ sort_key = params.sort,
26
+ rest = _objectWithoutProperties(params, _excluded);
27
+ // 解析 sort_key,例如 "created_at:desc" -> order_by: "created_at", sort: "desc"
28
+ var order_by, sort;
29
+ if (sort_key) {
30
+ var _sort_key$split = sort_key.split(':'),
31
+ _sort_key$split2 = _slicedToArray(_sort_key$split, 2),
32
+ orderByValue = _sort_key$split2[0],
33
+ sortValue = _sort_key$split2[1];
34
+ order_by = orderByValue;
35
+ sort = sortValue;
36
+ }
37
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rest), (orderDate === null || orderDate === void 0 ? void 0 : orderDate[0]) && {
38
+ start_time: dayjs(orderDate[0]).format('YYYY-MM-DD')
39
+ }), (orderDate === null || orderDate === void 0 ? void 0 : orderDate[1]) && {
40
+ end_time: dayjs(orderDate[1]).format('YYYY-MM-DD')
41
+ }), (total_amount === null || total_amount === void 0 ? void 0 : total_amount.min) !== undefined && {
42
+ min_total_amount: total_amount.min
43
+ }), (total_amount === null || total_amount === void 0 ? void 0 : total_amount.max) !== undefined && {
44
+ max_total_amount: total_amount.max
45
+ }), order_by && {
46
+ order_by: order_by
47
+ }), sort && {
48
+ sort: sort
49
+ }), {}, {
50
+ with: ['customer', 'contactsInfo', 'tag', 'createAccount', 'paidPayment', 'lastEditAccount']
51
+ });
52
+ };
53
+ export var getOrderList = /*#__PURE__*/function () {
54
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
55
+ var res;
56
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
57
+ while (1) switch (_context.prev = _context.next) {
58
+ case 0:
59
+ _context.next = 2;
60
+ return request.getRequest().post("/shop/order/v2/list", formatParams(params), {
61
+ abort: true,
62
+ fullResult: true,
63
+ isShopApi: true
64
+ });
65
+ case 2:
66
+ res = _context.sent;
67
+ return _context.abrupt("return", res === null || res === void 0 ? void 0 : res.data);
68
+ case 4:
69
+ case "end":
70
+ return _context.stop();
71
+ }
72
+ }, _callee);
73
+ }));
74
+ return function getOrderList(_x) {
75
+ return _ref.apply(this, arguments);
76
+ };
77
+ }();
78
+ var formatBookingParams = function formatBookingParams(params) {
79
+ var booking_time_start_between = params.booking_time_start_between,
80
+ created_at_between = params.created_at_between,
81
+ updated_at_between = params.updated_at_between,
82
+ number_between = params.number_between,
83
+ total_amount_between = params.total_amount_between,
84
+ sort = params.sort,
85
+ rest = _objectWithoutProperties(params, _excluded2);
86
+ var bookingTimeRange = Array.isArray(booking_time_start_between) ? booking_time_start_between.map(function (value) {
87
+ return value ? dayjs(value).format('YYYY-MM-DD HH:mm:ss') : undefined;
88
+ }).filter(function (value) {
89
+ return value;
90
+ }) : undefined;
91
+ var createdRange = Array.isArray(created_at_between) ? created_at_between.map(function (value) {
92
+ return value ? dayjs(value).format('YYYY-MM-DD HH:mm:ss') : undefined;
93
+ }).filter(function (value) {
94
+ return value;
95
+ }) : undefined;
96
+ var updatedRange = Array.isArray(updated_at_between) ? updated_at_between.map(function (value) {
97
+ return value ? dayjs(value).format('YYYY-MM-DD HH:mm:ss') : undefined;
98
+ }).filter(function (value) {
99
+ return value;
100
+ }) : undefined;
101
+ var numberRange = Array.isArray(number_between) ? number_between : (number_between === null || number_between === void 0 ? void 0 : number_between.min) != null || (number_between === null || number_between === void 0 ? void 0 : number_between.max) != null ? [number_between === null || number_between === void 0 ? void 0 : number_between.min, number_between === null || number_between === void 0 ? void 0 : number_between.max] : undefined;
102
+ var amountRange = Array.isArray(total_amount_between) ? total_amount_between : (total_amount_between === null || total_amount_between === void 0 ? void 0 : total_amount_between.min) != null || (total_amount_between === null || total_amount_between === void 0 ? void 0 : total_amount_between.max) != null ? [total_amount_between === null || total_amount_between === void 0 ? void 0 : total_amount_between.min, total_amount_between === null || total_amount_between === void 0 ? void 0 : total_amount_between.max] : undefined;
103
+ var ext = sort === 'after_execution_time:asc' ? {
104
+ after_execution_time: dayjs().format('YYYY-MM-DD HH:mm:ss')
105
+ } : {
106
+ order_by: sort
107
+ };
108
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rest), ext), (bookingTimeRange === null || bookingTimeRange === void 0 ? void 0 : bookingTimeRange.length) && {
109
+ booking_time_start_between: bookingTimeRange
110
+ }), (createdRange === null || createdRange === void 0 ? void 0 : createdRange.length) && {
111
+ created_at_between: createdRange
112
+ }), (updatedRange === null || updatedRange === void 0 ? void 0 : updatedRange.length) && {
113
+ updated_at_between: updatedRange
114
+ }), numberRange && {
115
+ number_between: numberRange
116
+ }), amountRange && {
117
+ total_amount_between: amountRange
118
+ }), {}, {
119
+ with: ['order.contactsInfo', 'order.customer', 'order.payment', 'appointmentForm.formRecord',
120
+ // 'children',
121
+ 'form', 'contacts', 'eventResources.relationForm', 'notes'],
122
+ holder_data: 1,
123
+ child_booking: 1 // 仅展示子预约
124
+ });
125
+ };
126
+ export var getBookingList = /*#__PURE__*/function () {
127
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
128
+ var _yield$request$getReq, data;
129
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
130
+ while (1) switch (_context2.prev = _context2.next) {
131
+ case 0:
132
+ _context2.next = 2;
133
+ return request.getRequest().get("/shop/schedule/booking", formatBookingParams(params), {
134
+ abort: true,
135
+ fullResult: true,
136
+ isShopApi: true
137
+ });
138
+ case 2:
139
+ _yield$request$getReq = _context2.sent;
140
+ data = _yield$request$getReq.data;
141
+ return _context2.abrupt("return", data);
142
+ case 5:
143
+ case "end":
144
+ return _context2.stop();
145
+ }
146
+ }, _callee2);
147
+ }));
148
+ return function getBookingList(_x2) {
149
+ return _ref2.apply(this, arguments);
150
+ };
151
+ }();
@@ -0,0 +1,170 @@
1
+ import type { CSSProperties, ReactNode } from 'react';
2
+ /** 排序子项(如 从低到高 / 从高到低),用于 getSortItems 返回值 */
3
+ export interface SortOptionItemCompat {
4
+ key: string;
5
+ label: string;
6
+ }
7
+ /** 排序列表项:type 由 Sort 内置生成子项;getSortItems 则完全自定义子项,与 RecordBoard Sort 约定一致 */
8
+ export interface SortListItemCompat {
9
+ name?: string | string[];
10
+ label?: string;
11
+ /** 排序类型,有 getSortItems 时可省略 */
12
+ type?: 'date' | 'string' | 'number' | 'option';
13
+ isCustom?: boolean;
14
+ columnKey?: string;
15
+ localFilter?: boolean;
16
+ isHidden?: boolean;
17
+ /** 自定义排序子项,优先于 type */
18
+ getSortItems?: (fieldKey: string) => SortOptionItemCompat[];
19
+ }
20
+ /** 筛选列表项:与 RecordBoard / PisellFilter 使用的 FilterItemProps 形状兼容 */
21
+ export interface FilterItemPropsCompat {
22
+ type: 'single' | 'input' | 'datePicker' | 'rangePicker' | 'rangePickerNew' | 'search' | 'custom';
23
+ key: string;
24
+ name?: string | string[];
25
+ label?: string;
26
+ props?: Record<string, any>;
27
+ other?: Record<string, any>;
28
+ isCustom?: boolean;
29
+ columnKey?: string;
30
+ isHidden?: boolean;
31
+ }
32
+ /** 筛选默认值:quickFilter / otherFilter 为筛项列表,values 为表单值 */
33
+ export interface FilterDefaultValueCompat {
34
+ quickFilter?: FilterItemPropsCompat[];
35
+ otherFilter?: FilterItemPropsCompat[];
36
+ values?: Record<string, any>;
37
+ }
38
+ /** ToolBar 内筛选配置:defaultFilterValue 提供筛项与初始值 */
39
+ export interface RecordBoardToolBarFilterCompat {
40
+ hiddenQuickFilter?: boolean;
41
+ hiddenOtherFilter?: boolean;
42
+ defaultFilterValue?: FilterDefaultValueCompat;
43
+ [key: string]: any;
44
+ }
45
+ /** ToolBar 内排序配置:list 为排序项数组 */
46
+ export interface RecordBoardToolBarSortCompat {
47
+ list?: SortListItemCompat[];
48
+ placement?: 'bottom' | 'bottomLeft' | 'bottomRight' | 'top' | 'topLeft' | 'topRight';
49
+ [key: string]: any;
50
+ }
51
+ /** ToolBar 内快速筛选配置:filterList 覆盖列派生的快筛列表 */
52
+ export interface RecordBoardToolBarQuickFilterCompat {
53
+ filterList?: FilterItemPropsCompat[];
54
+ formFiltersPrefix?: string;
55
+ size?: 'small' | 'middle' | 'large';
56
+ [key: string]: any;
57
+ }
58
+ /** ToolBar 透传配置:与 RecordBoardToolBarProps 对齐,供 perspective.childComponentProps.toolBar 使用 */
59
+ export interface RecordBoardToolBarPropsCompat {
60
+ className?: string;
61
+ style?: CSSProperties;
62
+ tabs?: ReactNode;
63
+ topLeft?: ReactNode;
64
+ topRight?: ReactNode;
65
+ bottomLeft?: ReactNode;
66
+ bottomRight?: ReactNode;
67
+ /** 搜索:true 默认 PisellFind;对象透传 props;false 不渲染 */
68
+ search?: boolean | Record<string, any>;
69
+ /** 筛选:true 默认 PisellFilter;对象可传 defaultFilterValue 等;false 不渲染 */
70
+ filter?: boolean | RecordBoardToolBarFilterCompat;
71
+ /** 排序:true 默认由列派生;对象可传 list、placement;false 不渲染 */
72
+ sort?: boolean | RecordBoardToolBarSortCompat;
73
+ /** 快速筛选:true 用列派生;对象可传 filterList 等 */
74
+ quickFilter?: boolean | RecordBoardToolBarQuickFilterCompat;
75
+ /** 列设置入口;默认 true */
76
+ columnSetting?: boolean;
77
+ }
78
+ /** Grid 透传配置:与 RecordBoardGridProps 对齐,多选由 SalesGrid 合并后传入 */
79
+ export interface RecordBoardGridPropsCompat {
80
+ /** 列配置;列上可设 hidden: true 表示默认隐藏,与 defaultHiddenColumnKeys 合并由 RecordBoard 初始化列显隐 */
81
+ columns?: any[];
82
+ /** 默认隐藏的列 key 列表(对应 columns 的 key 或 dataIndex),与列上 hidden: true 合并后由 RecordBoard 初始化列显隐 */
83
+ defaultHiddenColumnKeys?: string[];
84
+ /** 当前页某列全同值/全空时隐藏该列并在表格上方展示总结区;默认 true,传 false 可关闭 */
85
+ collapseUniformColumns?: boolean;
86
+ /** 表格滚动,与 RecordBoard grid.scroll 对齐(含 autoCalc、scrollToFirstRowOnChange) */
87
+ scroll?: {
88
+ x?: number | string;
89
+ y?: number | string;
90
+ autoCalc?: boolean;
91
+ scrollToFirstRowOnChange?: boolean;
92
+ };
93
+ /** 表格尺寸 */
94
+ size?: 'small' | 'middle' | 'default';
95
+ /** 其余为 antd Table 透传(onRow、onHeaderRow、expandable、rowClassName、summary 等) */
96
+ [key: string]: any;
97
+ }
98
+ /** 与 RecordBoard 打散子组件配置兼容;grid 会与多选(selectedKeys/selectedRows/onSelectionChange)合并后传给 RecordBoard */
99
+ export interface RecordBoardChildComponentPropsCompat {
100
+ /** 搜索配置,透传 PisellFind */
101
+ search?: Record<string, any>;
102
+ /** 工具栏配置:sort / filter / quickFilter 等 */
103
+ toolBar?: RecordBoardToolBarPropsCompat;
104
+ /** 分页组件透传配置 */
105
+ pagination?: Record<string, any>;
106
+ /** Grid 配置:columns、defaultHiddenColumnKeys、scroll、及 Table 透传 */
107
+ grid?: RecordBoardGridPropsCompat;
108
+ /** 卡片列表配置(card 布局时) */
109
+ cardList?: Record<string, any>;
110
+ /** 批量操作栏配置 */
111
+ batchActionBar?: Record<string, any>;
112
+ }
113
+ /**
114
+ * 列渲染覆盖项:当视角的 grid.columns 中某列的 type 与此 type 一致时,使用此 render 替代该列默认渲染再传给 RecordBoard。
115
+ */
116
+ export interface SalesGridColumnRenderer {
117
+ /** 与列配置的 type 匹配(如 'currency'、'singleSelect') */
118
+ type: string;
119
+ /** 自定义列单元格渲染 */
120
+ render: (value: any, record: any, index: number) => ReactNode;
121
+ }
122
+ /**
123
+ * Perspective 运行时上下文:由 PisellSalesGrid 在运行时构建,
124
+ * 传入 perspective 的 getChildComponentProps 工厂函数,
125
+ * 使 columns / onRow / toolBar 等配置可访问刷新列表等运行时能力。
126
+ */
127
+ export interface SalesGridRuntimeContext {
128
+ /** 重新请求当前列表数据(同步触发) */
129
+ refresh: () => void;
130
+ /** 重新请求当前列表数据(返回 Promise) */
131
+ refreshAsync: () => Promise<any>;
132
+ /** 当前激活的 perspective key */
133
+ currentPerspective: string;
134
+ }
135
+ /**
136
+ * 单个 Perspective 配置:对应一组 RecordBoard 的展示配置(列、工具栏等)。
137
+ * 多个 Perspective 可对应同一数据源的不同展示方式。仅支持表格(Grid)布局。
138
+ *
139
+ * 支持两种配置方式(二选一):
140
+ * 1. **静态配置** — 直接提供 childComponentProps,适用于不依赖运行时 API 的场景。
141
+ * 2. **工厂配置** — 提供 getChildComponentProps(ctx),接收运行时上下文后返回配置,
142
+ * 适用于 columns / onRow 等需要调用 refresh / refreshAsync 的场景。
143
+ * 当 getChildComponentProps 存在时,其返回值将作为最终配置(忽略 childComponentProps)。
144
+ */
145
+ export interface SalesGridPerspectiveConfig {
146
+ /** Perspective 唯一标识,与 currentPerspective 对应 */
147
+ key: string;
148
+ /** Perspective 展示名称(可选,供外部展示用) */
149
+ label?: string;
150
+ /** 该 Perspective 下 RecordBoard 子组件透传配置(grid.columns、toolBar、pagination 等) */
151
+ childComponentProps?: RecordBoardChildComponentPropsCompat;
152
+ /**
153
+ * 工厂函数:接收运行时上下文,返回最终的子组件透传配置。
154
+ * 当此字段存在时,PisellSalesGrid 会调用此函数获取配置,childComponentProps 将被忽略。
155
+ */
156
+ getChildComponentProps?: (ctx: SalesGridRuntimeContext) => RecordBoardChildComponentPropsCompat;
157
+ }
158
+ export interface PisellSalesGridProps {
159
+ /** Perspective 数据:一组 RecordBoard 配置,支持配置多个 Perspective */
160
+ perspectives: SalesGridPerspectiveConfig[];
161
+ /** 当前 Perspective:对应 perspectives[].key,决定使用哪个 Perspective 的配置渲染 RecordBoard */
162
+ currentPerspective: string;
163
+ /** 自定义类名 */
164
+ className?: string;
165
+ /** 自定义样式 */
166
+ style?: CSSProperties;
167
+ extParams?: Record<string, any>;
168
+ /** 实例 id,透传 RecordBoard 用于列显隐持久化(localStorage,与 @pisell/utils getComponentStorageKey 规则一致) */
169
+ __id?: string;
170
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ declare type BookingFormsPreviewProps = {
3
+ value?: any;
4
+ uniqueTables?: any[];
5
+ bookingLabels?: {
6
+ more?: string;
7
+ forms?: string;
8
+ };
9
+ textStyles?: any;
10
+ relationId: number;
11
+ relationType?: string;
12
+ customer?: any;
13
+ };
14
+ declare const BookingFormsPreview: (props: BookingFormsPreviewProps) => React.JSX.Element;
15
+ export default BookingFormsPreview;
@@ -0,0 +1,211 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
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(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ 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."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _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; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import React, { useCallback, useMemo, useState } from 'react';
14
+ import { Spin, Tooltip } from 'antd';
15
+ import { useRequest } from 'ahooks';
16
+ import { locales } from '@pisell/utils';
17
+ import { PisellModal } from '@pisell/materials';
18
+ import Forms from "../../../components/booking/forms/forms";
19
+ import useEngineContext from "../../../hooks/useEngineContext";
20
+ import { getRelationRecords } from "../serve";
21
+ var BookingFormsPreview = function BookingFormsPreview(props) {
22
+ var _context$appHelper;
23
+ var context = useEngineContext();
24
+ var utils = (context === null || context === void 0 || (_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 ? void 0 : _context$appHelper.utils) || {};
25
+ var value = props.value,
26
+ uniqueTables = props.uniqueTables,
27
+ bookingLabels = props.bookingLabels,
28
+ textStyles = props.textStyles,
29
+ relationId = props.relationId,
30
+ relationType = props.relationType,
31
+ customer = props.customer;
32
+ var appointmentForms = Array.isArray(value) ? value : [];
33
+ var _useState = useState(false),
34
+ _useState2 = _slicedToArray(_useState, 2),
35
+ modalOpen = _useState2[0],
36
+ setModalOpen = _useState2[1];
37
+ var _useState3 = useState(null),
38
+ _useState4 = _slicedToArray(_useState3, 2),
39
+ activeTable = _useState4[0],
40
+ setActiveTable = _useState4[1];
41
+ var _getRelationRecords = useRequest(getRelationRecords, {
42
+ manual: true
43
+ });
44
+ var _useState5 = useState(false),
45
+ _useState6 = _slicedToArray(_useState5, 2),
46
+ hasRequested = _useState6[0],
47
+ setHasRequested = _useState6[1];
48
+ var _useState7 = useState(false),
49
+ _useState8 = _slicedToArray(_useState7, 2),
50
+ tooltipOpen = _useState8[0],
51
+ setTooltipOpen = _useState8[1];
52
+ var countsByFormId = useMemo(function () {
53
+ return appointmentForms.reduce(function (result, item) {
54
+ var formId = item === null || item === void 0 ? void 0 : item.form_id;
55
+ if (formId != null) {
56
+ var key = String(formId);
57
+ result[key] = (result[key] || 0) + 1;
58
+ }
59
+ return result;
60
+ }, {});
61
+ }, [appointmentForms]);
62
+ var tableItems = useMemo(function () {
63
+ return (uniqueTables || []).map(function (t) {
64
+ var _t$form, _t$form2;
65
+ var baseTitle = (t === null || t === void 0 || (_t$form = t.form) === null || _t$form === void 0 || (_t$form = _t$form.setting) === null || _t$form === void 0 || (_t$form = _t$form.title) === null || _t$form === void 0 ? void 0 : _t$form.original) || (t === null || t === void 0 || (_t$form2 = t.form) === null || _t$form2 === void 0 ? void 0 : _t$form2.title) || '';
66
+ if (!baseTitle) return null;
67
+ var formId = t === null || t === void 0 ? void 0 : t.form_id;
68
+ var count = formId != null ? countsByFormId[String(formId)] || 0 : 0;
69
+ var title = "".concat(baseTitle, " (").concat(count, ")");
70
+ return {
71
+ title: title,
72
+ baseTitle: baseTitle,
73
+ formId: formId,
74
+ count: count,
75
+ table: t
76
+ };
77
+ }).filter(function (t) {
78
+ return t;
79
+ });
80
+ }, [uniqueTables, countsByFormId]);
81
+ var showAll = tableItems.length <= 3;
82
+ var displayItems = showAll ? tableItems : tableItems.slice(0, 3);
83
+ var moreCount = tableItems.length - displayItems.length;
84
+ var handleOpenModal = useCallback(function (item, event) {
85
+ event.stopPropagation();
86
+ setActiveTable(item);
87
+ setModalOpen(true);
88
+ setTooltipOpen(false);
89
+ if (!_getRelationRecords.loading && !hasRequested) {
90
+ setHasRequested(true);
91
+ _getRelationRecords.run({
92
+ relation_type: relationType || 'appointment_booking',
93
+ relation_id: relationId
94
+ });
95
+ }
96
+ }, [_getRelationRecords, relationId, hasRequested, relationType]);
97
+ var relationRecords = useMemo(function () {
98
+ return Array.isArray(_getRelationRecords.data) ? _getRelationRecords.data : [];
99
+ }, [_getRelationRecords.data]);
100
+ var selectedForm = useMemo(function () {
101
+ if (!(activeTable !== null && activeTable !== void 0 && activeTable.formId)) return null;
102
+ var matchedRecord = relationRecords.find(function (item) {
103
+ return String(item === null || item === void 0 ? void 0 : item.form_id) === String(activeTable === null || activeTable === void 0 ? void 0 : activeTable.formId);
104
+ });
105
+ return matchedRecord;
106
+ }, [activeTable, relationRecords]);
107
+ if (tableItems.length === 0) return /*#__PURE__*/React.createElement("span", null, "-");
108
+ var tooltipContent = /*#__PURE__*/React.createElement("div", {
109
+ style: {
110
+ display: 'flex',
111
+ flexDirection: 'column',
112
+ gap: 10
113
+ }
114
+ }, tableItems.map(function (item, idx) {
115
+ var clickable = item.count > 0;
116
+ return /*#__PURE__*/React.createElement("div", {
117
+ key: "".concat(item.title, "-").concat(idx),
118
+ style: {
119
+ fontSize: 12,
120
+ color: clickable ? '#7f56d9' : '#98A2B3',
121
+ textDecoration: clickable ? 'underline' : 'none',
122
+ whiteSpace: 'nowrap',
123
+ lineHeight: '18px',
124
+ cursor: clickable ? 'pointer' : 'default'
125
+ },
126
+ onClick: function onClick(event) {
127
+ if (!clickable) return;
128
+ handleOpenModal(item, event);
129
+ }
130
+ }, item.title);
131
+ }));
132
+ return /*#__PURE__*/React.createElement("div", {
133
+ onClick: function onClick(event) {
134
+ return event.stopPropagation();
135
+ }
136
+ }, showAll ? /*#__PURE__*/React.createElement("div", {
137
+ style: {
138
+ display: 'flex',
139
+ flexDirection: 'column'
140
+ }
141
+ }, displayItems.map(function (item, idx) {
142
+ return /*#__PURE__*/React.createElement("div", {
143
+ key: "".concat(item.title, "-").concat(idx),
144
+ style: _objectSpread(_objectSpread({}, (textStyles === null || textStyles === void 0 ? void 0 : textStyles.text) || {}), {}, {
145
+ color: '#7f56d9',
146
+ textDecoration: 'underline',
147
+ cursor: 'pointer',
148
+ textAlign: 'left'
149
+ }),
150
+ onClick: function onClick(event) {
151
+ return handleOpenModal(item, event);
152
+ }
153
+ }, item.title);
154
+ })) : /*#__PURE__*/React.createElement("div", {
155
+ style: {
156
+ display: 'flex',
157
+ flexDirection: 'column'
158
+ }
159
+ }, displayItems.map(function (item, idx) {
160
+ return /*#__PURE__*/React.createElement("div", {
161
+ key: "".concat(item.title, "-").concat(idx),
162
+ style: _objectSpread(_objectSpread({}, (textStyles === null || textStyles === void 0 ? void 0 : textStyles.text) || {}), {}, {
163
+ color: '#475467',
164
+ textDecoration: 'none',
165
+ cursor: 'default',
166
+ textAlign: 'left'
167
+ })
168
+ }, item.title);
169
+ }), moreCount > 0 ? /*#__PURE__*/React.createElement(Tooltip, {
170
+ title: tooltipContent,
171
+ open: modalOpen ? false : tooltipOpen,
172
+ onOpenChange: function onOpenChange(nextOpen) {
173
+ if (!modalOpen) {
174
+ setTooltipOpen(nextOpen);
175
+ }
176
+ }
177
+ }, /*#__PURE__*/React.createElement("div", {
178
+ style: _objectSpread(_objectSpread({}, (textStyles === null || textStyles === void 0 ? void 0 : textStyles.text) || {}), {}, {
179
+ color: '#7f56d9',
180
+ textDecoration: 'underline',
181
+ cursor: 'default',
182
+ alignSelf: 'flex-start'
183
+ })
184
+ }, "+".concat(moreCount, " ").concat(locales.getText('pisell2.salesManagement.booking.common.more')))) : null), /*#__PURE__*/React.createElement(PisellModal, {
185
+ open: modalOpen,
186
+ title: bookingLabels === null || bookingLabels === void 0 ? void 0 : bookingLabels.forms,
187
+ width: 600,
188
+ footer: null,
189
+ destroyOnClose: true,
190
+ onCancel: function onCancel() {
191
+ return setModalOpen(false);
192
+ }
193
+ }, _getRelationRecords.loading || !hasRequested ? /*#__PURE__*/React.createElement("div", {
194
+ style: {
195
+ display: 'flex',
196
+ justifyContent: 'center',
197
+ alignItems: 'center',
198
+ padding: '48px 0'
199
+ }
200
+ }, /*#__PURE__*/React.createElement(Spin, null)) : selectedForm ? /*#__PURE__*/React.createElement(Forms
201
+ // modalOpen={modalOpen}
202
+ , {
203
+ forms: [selectedForm],
204
+ value: _defineProperty({}, selectedForm.form_id, selectedForm.form_record || []),
205
+ onChange: function onChange() {},
206
+ addCallback: function addCallback() {},
207
+ client: customer,
208
+ action: utils.action
209
+ }) : null));
210
+ };
211
+ export default BookingFormsPreview;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ declare type NotesDataSource = {
3
+ note?: string;
4
+ internalNotes?: Array<Record<string, any>> | string;
5
+ onChange?: (value: any, type: 'edit' | 'add' | 'remove', noteType: string) => void;
6
+ apis?: any;
7
+ bookingId?: any;
8
+ };
9
+ declare type BookingNotesPreviewProps = {
10
+ dataSource?: NotesDataSource;
11
+ labels?: {
12
+ orderNote?: string;
13
+ internalNote?: string;
14
+ more?: string;
15
+ };
16
+ style?: React.CSSProperties;
17
+ };
18
+ declare const BookingNotesPreview: (props: BookingNotesPreviewProps) => React.JSX.Element | null;
19
+ export default BookingNotesPreview;