@pisell/private-materials 3.4.54 → 3.4.56

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 (124) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/components/Sales/Summary/utils.d.ts +1 -1
  12. package/es/components/appointmentBooking/components/Footer/index.d.ts +0 -1
  13. package/es/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
  14. package/es/components/appointmentBooking/components/Voucher/index.js +2 -1
  15. package/es/components/booking/addons/index.js +20 -17
  16. package/es/components/booking/components/TabProduct/index.d.ts +0 -1
  17. package/es/components/booking/components/footer/utils.d.ts +6 -0
  18. package/es/components/booking/components/footer/utils.js +117 -53
  19. package/es/components/booking/components/voucher/index.js +27 -12
  20. package/es/components/booking/forms/table/index.d.ts +0 -1
  21. package/es/components/booking/info/service2/utils.js +1 -0
  22. package/es/components/booking/info2/service/addService/index.js +3 -3
  23. package/es/components/booking/utils.d.ts +1 -0
  24. package/es/components/booking/utils.js +16 -2
  25. package/es/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  26. package/es/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
  27. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
  28. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  29. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  30. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
  31. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
  32. package/es/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  33. package/es/components/pay/toC/PaymentMethods/WalletPass/utils.js +4 -2
  34. package/es/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
  35. package/es/components/productExtension/fields/Actor/index.d.ts +0 -1
  36. package/es/components/productExtension/fields/Forms/index.d.ts +0 -1
  37. package/es/components/schedules/calendar/calendarItem.d.ts +0 -1
  38. package/es/components/schedules/components/CurrentDay/index.d.ts +0 -1
  39. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +0 -1
  40. package/es/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +0 -1
  41. package/es/components/schedules/products/index.d.ts +0 -1
  42. package/es/components/shoppingCart/components/Empty/index.d.ts +0 -1
  43. package/es/components/shoppingCart/components/Render/index.d.ts +0 -1
  44. package/es/components/systemSettings/registry/components/SectionList.js +5 -1
  45. package/es/components/ticketBooking/components/addServiceVariant/addService.js +3 -3
  46. package/es/components/ticketBooking/utils/index.js +23 -8
  47. package/es/components/wallet/Detail/index.js +34 -2
  48. package/es/components/wallet/Detail/index.less +11 -0
  49. package/es/components/wallet/Detail/locales.d.ts +6 -0
  50. package/es/components/wallet/Detail/locales.js +14 -2
  51. package/es/components/wallet/Voucher/index.js +11 -10
  52. package/es/components/wallet/components/WalletCard.js +5 -1
  53. package/es/components/wallet/index.js +4 -2
  54. package/es/components/wallet/serve.d.ts +7 -0
  55. package/es/components/wallet/utils.d.ts +48 -0
  56. package/es/components/wallet/utils.js +342 -0
  57. package/es/components/workSpaceList/components/Modal/index.d.ts +0 -1
  58. package/es/index.d.ts +1 -0
  59. package/es/index.js +1 -0
  60. package/es/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  61. package/es/plus/walletPassGallery/components/passDetail/index.js +79 -30
  62. package/es/plus/walletPassGallery/index.js +4 -2
  63. package/es/plus/walletPassGallery/serve.d.ts +3 -0
  64. package/es/plus/walletPassGallery/serve.js +6 -2
  65. package/es/pro/Login2.0/AuthModal.js +12 -4
  66. package/es/pro/Login2.0/index.less +7 -7
  67. package/lib/components/Sales/Summary/utils.d.ts +1 -1
  68. package/lib/components/appointmentBooking/components/Footer/index.d.ts +0 -1
  69. package/lib/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
  70. package/lib/components/appointmentBooking/components/Voucher/index.js +2 -1
  71. package/lib/components/booking/addons/index.js +10 -7
  72. package/lib/components/booking/components/TabProduct/index.d.ts +0 -1
  73. package/lib/components/booking/components/footer/utils.d.ts +6 -0
  74. package/lib/components/booking/components/footer/utils.js +86 -36
  75. package/lib/components/booking/components/voucher/index.js +23 -7
  76. package/lib/components/booking/forms/table/index.d.ts +0 -1
  77. package/lib/components/booking/info/service2/utils.js +1 -0
  78. package/lib/components/booking/info2/service/addService/index.js +2 -2
  79. package/lib/components/booking/utils.d.ts +1 -0
  80. package/lib/components/booking/utils.js +12 -0
  81. package/lib/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  82. package/lib/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
  83. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
  84. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  85. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  86. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
  87. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
  88. package/lib/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  89. package/lib/components/pay/toC/PaymentMethods/WalletPass/utils.js +4 -2
  90. package/lib/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
  91. package/lib/components/productExtension/fields/Actor/index.d.ts +0 -1
  92. package/lib/components/productExtension/fields/Forms/index.d.ts +0 -1
  93. package/lib/components/schedules/calendar/calendarItem.d.ts +0 -1
  94. package/lib/components/schedules/components/CurrentDay/index.d.ts +0 -1
  95. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +0 -1
  96. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +0 -1
  97. package/lib/components/schedules/products/index.d.ts +0 -1
  98. package/lib/components/shoppingCart/components/Empty/index.d.ts +0 -1
  99. package/lib/components/shoppingCart/components/Render/index.d.ts +0 -1
  100. package/lib/components/systemSettings/registry/components/SectionList.js +4 -1
  101. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +1 -1
  102. package/lib/components/ticketBooking/utils/index.js +9 -4
  103. package/lib/components/wallet/Detail/index.js +31 -3
  104. package/lib/components/wallet/Detail/index.less +11 -0
  105. package/lib/components/wallet/Detail/locales.d.ts +6 -0
  106. package/lib/components/wallet/Detail/locales.js +14 -2
  107. package/lib/components/wallet/Voucher/index.js +8 -8
  108. package/lib/components/wallet/components/WalletCard.js +4 -0
  109. package/lib/components/wallet/index.js +2 -2
  110. package/lib/components/wallet/serve.d.ts +7 -0
  111. package/lib/components/wallet/utils.d.ts +48 -0
  112. package/lib/components/wallet/utils.js +287 -0
  113. package/lib/components/workSpaceList/components/Modal/index.d.ts +0 -1
  114. package/lib/index.d.ts +1 -0
  115. package/lib/index.js +3 -0
  116. package/lib/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  117. package/lib/plus/walletPassGallery/components/passDetail/index.js +50 -14
  118. package/lib/plus/walletPassGallery/index.js +4 -2
  119. package/lib/plus/walletPassGallery/serve.d.ts +3 -0
  120. package/lib/plus/walletPassGallery/serve.js +5 -2
  121. package/lib/pro/Login2.0/AuthModal.js +15 -7
  122. package/lib/pro/Login2.0/index.less +7 -7
  123. package/lowcode/wallet-pass-detail/meta.ts +89 -0
  124. package/package.json +4 -4
@@ -30,7 +30,7 @@ import useEngineContext from "../../../../../hooks/useEngineContext";
30
30
  import { getProductDetail } from "../../../info/service/serve";
31
31
  import { getIsBundleOrCombination } from "../../../info/utils";
32
32
  import { getProductExtend } from "./utils";
33
- import { formatProductListByCategory, getIsEject, getIsOnlySession, getProductTotalPrice, isSessionProduct, request } from "../../../utils";
33
+ import { formatProductListByCategory, getIsEject, getIsOnlySession, getMainPrice, getProductTotalPrice, isSessionProduct, request } from "../../../utils";
34
34
  import { locales, getUniqueId } from '@pisell/utils';
35
35
  import { useUpdateEffect } from 'ahooks';
36
36
  import { getIsShowNumber } from "../../../../ticketBooking/utils";
@@ -283,18 +283,18 @@ var Info = function Info(props) {
283
283
  _extend: {
284
284
  start_date: state.date.value,
285
285
  quantity: (e === null || e === void 0 ? void 0 : e.quantity) || 1,
286
- price: _detail.price,
287
286
  product_name: item.title,
288
287
  other: other
289
288
  },
290
289
  new: 1
291
290
  });
292
- console.log(cacheItem, 'cacheItem', e);
291
+ cacheItem._extend.price = getMainPrice(_detail, _detail.price);
293
292
  var _total = getProductTotalPrice(cacheItem);
294
293
  // 用于折扣 可修改
295
294
  cacheItem._extend.total = _total;
296
295
  // 用于储存原价
297
296
  cacheItem._extend.origin_total = _total;
297
+ debugger;
298
298
  var _isEdit = !!state.service.cacheItem;
299
299
  if (_isEdit) {
300
300
  var _state$service$cacheI;
@@ -153,6 +153,7 @@ export declare const getIsOnlySession: (item: any) => boolean;
153
153
  * @Date: 2024-01-26 14:09
154
154
  */
155
155
  export declare const getServerItemExtend: (state: any, cacheItem: any, timeObj: any) => any;
156
+ export declare const getMainPrice: (item: any, price?: number) => number;
156
157
  export declare const getProductTotalPrice: (item: any) => number;
157
158
  /**
158
159
  * @title: 判断 duration
@@ -18,6 +18,7 @@ import { locales } from '@pisell/utils';
18
18
  import { isDayBooking, formatDayDate } from "./info/service2/utils";
19
19
  import { intersectionBy } from 'lodash';
20
20
  import { getAppointmentTimingPreference } from "./info2/utilsByBooking";
21
+ import Decimal from "decimal.js";
21
22
  var Request = /*#__PURE__*/function () {
22
23
  function Request() {
23
24
  _classCallCheck(this, Request);
@@ -754,11 +755,24 @@ export var getServerItemExtend = function getServerItemExtend(state, cacheItem,
754
755
  return _extend;
755
756
  };
756
757
 
758
+ // 获取主商品价格 包含组合规格
759
+ export var getMainPrice = function getMainPrice(item, price) {
760
+ var _item$_extend;
761
+ var newPrice = new Decimal(price || item._extend.price || 0);
762
+ var other = (_item$_extend = item._extend) === null || _item$_extend === void 0 ? void 0 : _item$_extend.other;
763
+
764
+ // 多规格
765
+ if (other !== null && other !== void 0 && other.product_variant_id) {
766
+ newPrice = new Decimal((other === null || other === void 0 ? void 0 : other.price) || 0);
767
+ }
768
+ return newPrice.toNumber();
769
+ };
770
+
757
771
  // 商品价格: (商品价格 + (套餐价格 + 单规格价格 * 单规格数量) * 套餐数量 + 单规格价格 * 单规格数量) * 商品数量
758
772
  export var getProductTotalPrice = function getProductTotalPrice(item) {
759
- var _item$_extend;
773
+ var _item$_extend2;
760
774
  var price = Number(item._extend.price);
761
- var other = (_item$_extend = item._extend) === null || _item$_extend === void 0 ? void 0 : _item$_extend.other;
775
+ var other = (_item$_extend2 = item._extend) === null || _item$_extend2 === void 0 ? void 0 : _item$_extend2.other;
762
776
 
763
777
  // 多规格
764
778
  if (other !== null && other !== void 0 && other.product_variant_id) {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const ErrorTip: ({ text }: any) => JSX.Element;
4
3
  export default ErrorTip;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const InformationOptionsModal: (props: any) => JSX.Element;
4
3
  export default InformationOptionsModal;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const Status: (props: any) => JSX.Element;
4
3
  export default Status;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const WeekItem: (props: any) => JSX.Element;
4
3
  export default WeekItem;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare type CalenDateWeekProps = {
4
3
  currentDate: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const Status: (props: any) => JSX.Element;
4
3
  export default Status;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const SetupForm: ({ onReady, amount, order_id, payment_method, scene, }: any) => JSX.Element;
4
3
  export default SetupForm;
@@ -50,6 +50,12 @@ export declare type WalletPassDataType = {
50
50
  shop: Shop;
51
51
  wallet_pass_usage?: any;
52
52
  balance_par_value: string;
53
+ custom_schedule_snapshot?: {
54
+ data: any[];
55
+ };
56
+ metadata?: {
57
+ validity_type: string;
58
+ };
53
59
  };
54
60
  declare type Shop = {
55
61
  id: number;
@@ -11,7 +11,7 @@ var voucherTime = function voucherTime(data) {
11
11
  export var formatMachineCodeServer2CardList = function formatMachineCodeServer2CardList(data) {
12
12
  var selectId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
13
13
  return (data || []).map(function (item) {
14
- var _item$shop, _item$unified_message, _item$product;
14
+ var _item$shop, _item$unified_message, _item$product, _item$custom_schedule, _item$metadata;
15
15
  return {
16
16
  id: item.id,
17
17
  name: item.product_name,
@@ -30,7 +30,9 @@ export var formatMachineCodeServer2CardList = function formatMachineCodeServer2C
30
30
  cover: (_item$product = item.product) === null || _item$product === void 0 ? void 0 : _item$product.cover,
31
31
  qrCode: item.code,
32
32
  validDate: voucherTime(item),
33
- originData: item
33
+ originData: item,
34
+ scheduleList: ((_item$custom_schedule = item.custom_schedule_snapshot) === null || _item$custom_schedule === void 0 ? void 0 : _item$custom_schedule.data) || [],
35
+ validDateBySchedule: ((_item$metadata = item.metadata) === null || _item$metadata === void 0 ? void 0 : _item$metadata.validity_type) === 'custom_schedule_validity'
34
36
  };
35
37
  });
36
38
  };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { WalletPassDataType } from '../../../PaymentMethods/WalletPass/serve';
3
2
  import './index.less';
4
3
  interface WalletUseListProps {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare const Actor: ({ name }: {
3
2
  name: string;
4
3
  }) => JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface InfoProps {
3
2
  relation_id: any;
4
3
  action: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CalendarDataItem } from "../type";
3
2
  declare type CalendarItemProps = {
4
3
  month: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./index.less";
3
2
  declare type CurrentDayProps = {
4
3
  onClose: () => void;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./index.less";
3
2
  declare const ProductDetail: ({ form, currentProduct, }: {
4
3
  form: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./index.less";
3
2
  declare const ProductDetailByDate: () => JSX.Element;
4
3
  export default ProductDetailByDate;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const Products: () => JSX.Element;
4
3
  export default Products;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const Empty: (props: any) => JSX.Element;
4
3
  export default Empty;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const Content: () => JSX.Element;
4
3
  export default Content;
@@ -3,6 +3,8 @@ import { Card, Empty, Spin } from 'antd';
3
3
  import { ShoppingCartOutlined, CreditCardOutlined, SafetyCertificateOutlined, SettingOutlined } from '@ant-design/icons';
4
4
  import { ShoppingCart01 } from '@pisell/icon';
5
5
  import { locales } from '@pisell/utils';
6
+ import useEngineContext from "../../../../hooks/useEngineContext";
7
+
6
8
  // 获取多语言文本的工具函数
7
9
  var getLocalizedText = function getLocalizedText(text) {
8
10
  var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zh-CN';
@@ -38,6 +40,7 @@ var renderSectionIcon = function renderSectionIcon(iconName, code) {
38
40
  return sectionIcons.default;
39
41
  };
40
42
  var SectionList = function SectionList(_ref) {
43
+ var _context$engine;
41
44
  var sections = _ref.sections,
42
45
  selectedSectionId = _ref.selectedSectionId,
43
46
  onSectionSelect = _ref.onSectionSelect,
@@ -48,9 +51,10 @@ var SectionList = function SectionList(_ref) {
48
51
  onLoadMore = _ref.onLoadMore;
49
52
  var scrollContainerRef = useRef(null);
50
53
  var loadingRef = useRef(null);
54
+ var context = useEngineContext();
51
55
 
52
56
  // 获取当前语言
53
- var currentLocale = localStorage.getItem('umi_locale') || 'zh-CN';
57
+ var currentLocale = (context === null || context === void 0 || (_context$engine = context.engine) === null || _context$engine === void 0 || (_context$engine = _context$engine.props) === null || _context$engine === void 0 ? void 0 : _context$engine.locale) || localStorage.getItem('umi_locale') || 'en';
54
58
 
55
59
  // 滚动加载更多的处理函数
56
60
  var handleScroll = useCallback(function () {
@@ -21,7 +21,7 @@ import { getUniqueId, locales, sendWarningLog } from '@pisell/utils';
21
21
  import React, { useEffect, useMemo, useRef, useState } from 'react';
22
22
  import { useMemoizedFn } from 'ahooks';
23
23
  import useEngineContext from "../../../../hooks/useEngineContext";
24
- import { isSessionProduct, request, getProductTotalPrice, getIsEject, getIsOnlySession } from "../../../booking/utils";
24
+ import { isSessionProduct, request, getProductTotalPrice, getIsEject, getIsOnlySession, getMainPrice } from "../../../booking/utils";
25
25
  import { getProductExtend } from "../../../booking/info2/service/addService/utils";
26
26
  import { holderId, isDaysBooking, isNormalProductByDurationSchedule } from "../../../booking/info/service2/utils";
27
27
  import { getIsBundleOrCombination, isBooking4Shop } from "../../../booking/info/utils";
@@ -378,12 +378,12 @@ var AddSerivce = function AddSerivce(props) {
378
378
  _extend: {
379
379
  start_date: state.date.value,
380
380
  quantity: (e === null || e === void 0 ? void 0 : e.quantity) || 1,
381
- price: _detail.price,
382
381
  product_name: item.title,
383
382
  other: other
384
383
  },
385
384
  new: 1
386
385
  });
386
+ cacheItem._extend.price = getMainPrice(_detail, _detail.price);
387
387
  _total = getProductTotalPrice(cacheItem); // 用于折扣 可修改
388
388
  cacheItem._extend.total = _total;
389
389
  // 用于储存原价
@@ -475,7 +475,7 @@ var AddSerivce = function AddSerivce(props) {
475
475
  });
476
476
  onEdit === null || onEdit === void 0 || onEdit(cacheItem);
477
477
  }
478
- case 24:
478
+ case 25:
479
479
  case "end":
480
480
  return _context3.stop();
481
481
  }
@@ -1,5 +1,11 @@
1
1
  var _excluded = ["detail"];
2
2
  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); }
3
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
4
+ 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."); }
5
+ 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); }
6
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
7
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
8
+ 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; }
3
9
  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; }
4
10
  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; }
5
11
  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; }
@@ -126,20 +132,29 @@ export var addService = function addService(list, addItem, state) {
126
132
  // 是否设置过 只追加到第一个中
127
133
  var isSetCount = false;
128
134
  value = list.map(function (item) {
135
+ var _item$_extend;
129
136
  // 是否商品券折扣的商品
130
137
  var isGoodPassDiscountProduct = (item.discount_list || []).some(function (item) {
131
138
  return item.type === 'good_pass';
132
139
  });
133
- if (isSameProduct(item, addItem) && !isSetCount && !isGoodPassDiscountProduct) {
134
- var _item$_extend, _addItem$_extend, _item$_extend2;
140
+ // 子商品是否有商品券折扣的商品
141
+ var bundleDiscountList = [];
142
+ ((item === null || item === void 0 || (_item$_extend = item._extend) === null || _item$_extend === void 0 || (_item$_extend = _item$_extend.other) === null || _item$_extend === void 0 ? void 0 : _item$_extend.bundle) || []).forEach(function (item) {
143
+ bundleDiscountList.push.apply(bundleDiscountList, _toConsumableArray((item === null || item === void 0 ? void 0 : item.discount_list) || []));
144
+ });
145
+ var isGoodPassBundleProduct = bundleDiscountList.some(function (item) {
146
+ return item.type === 'good_pass';
147
+ });
148
+ if (isSameProduct(item, addItem) && !isSetCount && !isGoodPassDiscountProduct && !isGoodPassBundleProduct) {
149
+ var _item$_extend2, _addItem$_extend, _item$_extend3;
135
150
  isNotSame = false;
136
- var quantity = ((item === null || item === void 0 || (_item$_extend = item._extend) === null || _item$_extend === void 0 ? void 0 : _item$_extend.quantity) || 1) + ((addItem === null || addItem === void 0 || (_addItem$_extend = addItem._extend) === null || _addItem$_extend === void 0 ? void 0 : _addItem$_extend.quantity) || 1);
151
+ var quantity = ((item === null || item === void 0 || (_item$_extend2 = item._extend) === null || _item$_extend2 === void 0 ? void 0 : _item$_extend2.quantity) || 1) + ((addItem === null || addItem === void 0 || (_addItem$_extend = addItem._extend) === null || _addItem$_extend === void 0 ? void 0 : _addItem$_extend.quantity) || 1);
137
152
  count = quantity;
138
153
  isSetCount = true;
139
154
  return _objectSpread(_objectSpread({}, item), {}, {
140
155
  _extend: _objectSpread(_objectSpread({}, item._extend), {}, {
141
156
  quantity: quantity,
142
- other: _objectSpread(_objectSpread({}, ((_item$_extend2 = item._extend) === null || _item$_extend2 === void 0 ? void 0 : _item$_extend2.other) || {}), {}, {
157
+ other: _objectSpread(_objectSpread({}, ((_item$_extend3 = item._extend) === null || _item$_extend3 === void 0 ? void 0 : _item$_extend3.other) || {}), {}, {
143
158
  quantity: quantity
144
159
  })
145
160
  })
@@ -206,11 +221,11 @@ export var getIsShowNumber = function getIsShowNumber(item, state) {
206
221
 
207
222
  // 生成服务key
208
223
  export var genServiceKey = function genServiceKey(item) {
209
- var _item$_extend3, _item$_extend4, _item$_extend5;
224
+ var _item$_extend4, _item$_extend5, _item$_extend6;
210
225
  var product_id = item.product_id;
211
- var durationKey = (_item$_extend3 = item._extend) === null || _item$_extend3 === void 0 ? void 0 : _item$_extend3.duration;
212
- var start_time = (_item$_extend4 = item._extend) === null || _item$_extend4 === void 0 ? void 0 : _item$_extend4.start_time;
213
- var total = (_item$_extend5 = item._extend) === null || _item$_extend5 === void 0 ? void 0 : _item$_extend5.total;
226
+ var durationKey = (_item$_extend4 = item._extend) === null || _item$_extend4 === void 0 ? void 0 : _item$_extend4.duration;
227
+ var start_time = (_item$_extend5 = item._extend) === null || _item$_extend5 === void 0 ? void 0 : _item$_extend5.start_time;
228
+ var total = (_item$_extend6 = item._extend) === null || _item$_extend6 === void 0 ? void 0 : _item$_extend6.total;
214
229
  var resourceKey = '';
215
230
  Object.values(item._extend.resource).forEach(function (resources) {
216
231
  resources.forEach(function (resource) {
@@ -22,6 +22,7 @@ import localeTexts from "./locales";
22
22
  import { getAssetList, getDetailApi } from "./serve";
23
23
  import { request } from "./../../../utils";
24
24
  import { WalletBar, FooterButtons, UsageRules } from "../components";
25
+ import { formatScheduleText } from "../utils";
25
26
  import "./index.less";
26
27
  var Text = Typography.Text;
27
28
 
@@ -54,7 +55,9 @@ var Detail = /*#__PURE__*/forwardRef(function (props, ref) {
54
55
  _detail$expire_date = detail.expire_date,
55
56
  expire_date = _detail$expire_date === void 0 ? '' : _detail$expire_date,
56
57
  _detail$product = detail.product,
57
- product = _detail$product === void 0 ? {} : _detail$product;
58
+ product = _detail$product === void 0 ? {} : _detail$product,
59
+ custom_schedule_snapshot = detail.custom_schedule_snapshot;
60
+ console.log(detail, 'detail22');
58
61
  var _ref = product || {},
59
62
  _ref$description = _ref.description,
60
63
  description = _ref$description === void 0 ? '' : _ref$description,
@@ -298,7 +301,36 @@ var Detail = /*#__PURE__*/forwardRef(function (props, ref) {
298
301
  onGoogleClick();
299
302
  }
300
303
  };
304
+ var scheduleList = useMemo(function () {
305
+ return (custom_schedule_snapshot === null || custom_schedule_snapshot === void 0 ? void 0 : custom_schedule_snapshot.data) || [];
306
+ }, [custom_schedule_snapshot]);
301
307
  useEffect(function () {
308
+ var detail = formatScheduleText(scheduleList, 'zh-CN');
309
+ var expireText = expire_date ? expire_date : locales.getText('page.wallet.expireDate');
310
+ if (scheduleList.length > 0) {
311
+ // 换行展示
312
+ var validityTexts = "";
313
+ var excludedText = "";
314
+ var includedText = "";
315
+ detail.forEach(function (item) {
316
+ if (item.validityTexts.length > 0) {
317
+ validityTexts = "".concat(validityTexts).concat(item.validityTexts.join('\n'), "\n");
318
+ }
319
+ if (item.excluded_date.length > 0) {
320
+ excludedText = "".concat(excludedText).concat(item.excluded_date.join('\n'), "\n");
321
+ }
322
+ if (item.included_date.length > 0) {
323
+ includedText = "".concat(includedText).concat(item.included_date.join('\n'), "\n");
324
+ }
325
+ });
326
+ expireText = /*#__PURE__*/React.createElement("span", {
327
+ className: "wallet-detail-expire-text"
328
+ }, validityTexts, excludedText && /*#__PURE__*/React.createElement("div", {
329
+ className: "wallet-detail-expire-text-title"
330
+ }, locales.getText('page.wallet.notValidDate')), excludedText, includedText && /*#__PURE__*/React.createElement("div", {
331
+ className: "wallet-detail-expire-text-title"
332
+ }, locales.getText('page.wallet.includedDate')), includedText);
333
+ }
302
334
  var data = [{
303
335
  label: locales.getText('page.wallet.cardName'),
304
336
  value: product_title
@@ -308,7 +340,7 @@ var Detail = /*#__PURE__*/forwardRef(function (props, ref) {
308
340
  isLink: false
309
341
  }, {
310
342
  label: locales.getText('page.wallet.validDate'),
311
- value: expire_date ? expire_date : locales.getText('page.wallet.expireDate')
343
+ value: expireText
312
344
  }];
313
345
  //折扣卡显示折扣字段 其他显示余额字段
314
346
  if (tag === 'product_discount_card') {
@@ -373,3 +373,14 @@
373
373
  font-weight: 500;
374
374
  line-height: 24px;
375
375
  }
376
+
377
+ .wallet-detail-expire-text {
378
+ white-space: pre-wrap;
379
+ }
380
+
381
+ .wallet-detail-expire-text-title {
382
+ font-size: 14px;
383
+ font-weight: 500;
384
+ line-height: 20px;
385
+ color: #667085;
386
+ }
@@ -21,6 +21,8 @@ declare const _default: {
21
21
  'page.wallet.addGoogle': string;
22
22
  'page.wallet.viewDetails': string;
23
23
  'page.wallet.expireDate': string;
24
+ 'page.wallet.notValidDate': string;
25
+ 'page.wallet.includedDate': string;
24
26
  'page.wallet.urlEmpty': string;
25
27
  'page.wallet.notIOS': string;
26
28
  'page.wallet.addSuccess': string;
@@ -69,6 +71,8 @@ declare const _default: {
69
71
  'page.wallet.addGoogle': string;
70
72
  'page.wallet.viewDetails': string;
71
73
  'page.wallet.expireDate': string;
74
+ 'page.wallet.notValidDate': string;
75
+ 'page.wallet.includedDate': string;
72
76
  'page.wallet.urlEmpty': string;
73
77
  'page.wallet.notIOS': string;
74
78
  'page.wallet.addSuccess': string;
@@ -117,6 +121,8 @@ declare const _default: {
117
121
  'page.wallet.addGoogle': string;
118
122
  'page.wallet.viewDetails': string;
119
123
  'page.wallet.expireDate': string;
124
+ 'page.wallet.notValidDate': string;
125
+ 'page.wallet.includedDate': string;
120
126
  'page.wallet.urlEmpty': string;
121
127
  'page.wallet.notIOS': string;
122
128
  'page.wallet.addSuccess': string;
@@ -24,6 +24,10 @@ export default {
24
24
  'page.wallet.addGoogle': 'Add to Google Wallet',
25
25
  'page.wallet.viewDetails': 'See details',
26
26
  'page.wallet.expireDate': 'Long term',
27
+ 'page.wallet.notValidDate': 'Not valid on',
28
+ // 不可用日期
29
+ 'page.wallet.includedDate': 'Included dates',
30
+ // 包含日期
27
31
  'page.wallet.urlEmpty': 'Wallet link is empty',
28
32
  'page.wallet.notIOS': 'Apple Wallet is not supported on non-iOS devices',
29
33
  'page.wallet.addSuccess': 'Successfully added to wallet',
@@ -76,6 +80,10 @@ export default {
76
80
  'page.wallet.addGoogle': '添加到谷歌钱包',
77
81
  'page.wallet.viewDetails': '查看详情',
78
82
  'page.wallet.expireDate': '长期',
83
+ 'page.wallet.notValidDate': '不可用日期',
84
+ // 不可用日期
85
+ 'page.wallet.includedDate': '包含日期',
86
+ // 包含日期
79
87
  'page.wallet.urlEmpty': '钱包链接为空',
80
88
  'page.wallet.notIOS': '非iOS设备不支持Apple Wallet',
81
89
  'page.wallet.addSuccess': '已成功添加到钱包',
@@ -87,7 +95,7 @@ export default {
87
95
  // Usage Rules
88
96
  'page.wallet.usageRules': '使用规则',
89
97
  'page.wallet.usageRulesSubtitle': '请仔细阅读以下使用条件',
90
- 'page.wallet.timeUsageLimits': '时间使用限制',
98
+ 'page.wallet.timeUsageLimits': '使用频次限制',
91
99
  'page.wallet.totalQuantityControl': '总量控制',
92
100
  'page.wallet.dailyLimit': '每日限制:',
93
101
  'page.wallet.weeklyLimit': '每周限制:',
@@ -128,6 +136,10 @@ export default {
128
136
  'page.wallet.addGoogle': '添加到谷歌錢包',
129
137
  'page.wallet.viewDetails': '查看詳情',
130
138
  'page.wallet.expireDate': '長期',
139
+ 'page.wallet.notValidDate': '不可用日期',
140
+ // 不可用日期
141
+ 'page.wallet.includedDate': '包含日期',
142
+ // 包含日期
131
143
  'page.wallet.urlEmpty': '錢包連結為空',
132
144
  'page.wallet.notIOS': '非iOS設備不支持Apple Wallet',
133
145
  'page.wallet.addSuccess': '已成功添加到錢包',
@@ -139,7 +151,7 @@ export default {
139
151
  // Usage Rules
140
152
  'page.wallet.usageRules': '使用規則',
141
153
  'page.wallet.usageRulesSubtitle': '請仔細閱讀以下使用條件',
142
- 'page.wallet.timeUsageLimits': '時間使用限制',
154
+ 'page.wallet.timeUsageLimits': '使用頻次限制',
143
155
  'page.wallet.totalQuantityControl': '總量控制',
144
156
  'page.wallet.dailyLimit': '每日限制:',
145
157
  'page.wallet.weeklyLimit': '每週限制:',
@@ -48,6 +48,17 @@ var Voucher = Provider(function (props) {
48
48
  }
49
49
  }, [globalState.setup]);
50
50
 
51
+ // 添加处理后退按钮的方法
52
+ var handleBack = useCallback(function () {
53
+ if (recordViewRef.current) {
54
+ recordViewRef.current.closeDetailModal();
55
+ }
56
+ // 更新状态
57
+ setGlobalState({
58
+ setup: 'list'
59
+ });
60
+ }, [recordViewRef, setGlobalState]);
61
+
51
62
  // 渲染卡片项
52
63
  var renderItem = function renderItem(item) {
53
64
  return /*#__PURE__*/React.createElement(WalletCard, {
@@ -67,16 +78,6 @@ var Voucher = Provider(function (props) {
67
78
  if (isEmpty) {
68
79
  return /*#__PURE__*/React.createElement(PisellEmpty, null);
69
80
  }
70
- // 添加处理后退按钮的方法
71
- var handleBack = useCallback(function () {
72
- if (recordViewRef.current) {
73
- recordViewRef.current.closeDetailModal();
74
- }
75
- // 更新状态
76
- setGlobalState({
77
- setup: 'list'
78
- });
79
- }, [recordViewRef, setGlobalState]);
80
81
  return /*#__PURE__*/React.createElement(React.Fragment, null, platform !== 'pc' && /*#__PURE__*/React.createElement(Title, {
81
82
  className: "wallet-voucher-title"
82
83
  }, locales.getText('page.wallet.voucher')), /*#__PURE__*/React.createElement(CardMetricItem, {
@@ -1,4 +1,4 @@
1
- var _excluded = ["id", "tag", "product_title", "balance", "code", "encoded", "expire_date", "shop", "limit_status", "product_cover", "par_value", "unified_messages"];
1
+ var _excluded = ["id", "tag", "product_title", "balance", "code", "encoded", "expire_date", "shop", "limit_status", "product_cover", "par_value", "unified_messages", "custom_schedule_snapshot", "metadata"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  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; }
4
4
  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; }
@@ -40,6 +40,8 @@ var WalletCard = function WalletCard(_ref) {
40
40
  par_value = _item$par_value === void 0 ? '' : _item$par_value,
41
41
  _item$unified_message = item.unified_messages,
42
42
  unified_messages = _item$unified_message === void 0 ? {} : _item$unified_message,
43
+ custom_schedule_snapshot = item.custom_schedule_snapshot,
44
+ metadata = item.metadata,
43
45
  rest = _objectWithoutProperties(item, _excluded);
44
46
 
45
47
  // 获取平台
@@ -58,6 +60,8 @@ var WalletCard = function WalletCard(_ref) {
58
60
  // 是否禁用
59
61
  var isDisabled = limit_status !== 'enable';
60
62
  return /*#__PURE__*/React.createElement(PisellWalletPassCard, _extends({}, rest, {
63
+ scheduleList: (custom_schedule_snapshot === null || custom_schedule_snapshot === void 0 ? void 0 : custom_schedule_snapshot.data) || [],
64
+ validDateBySchedule: (metadata === null || metadata === void 0 ? void 0 : metadata.validity_type) === 'custom_schedule_validity',
61
65
  balanceTitle: balanceTitle,
62
66
  showDetail: false,
63
67
  showRedeem: false,
@@ -72,7 +72,8 @@ var Wallet = Provider(function () {
72
72
  document.body.id = 'body';
73
73
  getList({
74
74
  num: 999,
75
- skip: 1
75
+ skip: 1,
76
+ with: ['customScheduleSnapshot']
76
77
  });
77
78
  }, []);
78
79
  var transformData = function transformData(data) {
@@ -477,7 +478,8 @@ var Wallet = Provider(function () {
477
478
  // 重新获取列表
478
479
  getList({
479
480
  num: 999,
480
- skip: 1
481
+ skip: 1,
482
+ with: ['customScheduleSnapshot']
481
483
  }, code);
482
484
  }
483
485
 
@@ -15,6 +15,7 @@ export interface IWalletListParmsProps {
15
15
  used_status?: string;
16
16
  num?: number;
17
17
  skip?: number;
18
+ with?: string[];
18
19
  }
19
20
  /**
20
21
  * 钱包列表项属性接口
@@ -48,6 +49,12 @@ export interface IWalletListItemProps {
48
49
  machinecode_config?: {
49
50
  hide_recharge?: number;
50
51
  };
52
+ metadata: {
53
+ validity_type: string;
54
+ };
55
+ custom_schedule_snapshot: {
56
+ data: any[];
57
+ };
51
58
  }
52
59
  /**
53
60
  * 商店信息接口