@pisell/private-materials 6.6.54 → 6.6.55

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 (67) hide show
  1. package/build/lowcode/render/default/view.css +1 -1
  2. package/build/lowcode/render/default/view.js +1 -1
  3. package/build/lowcode/view.css +1 -1
  4. package/build/lowcode/view.js +1 -1
  5. package/es/components/appointmentBooking/components/Voucher/index.js +22 -7
  6. package/es/components/booking/addons/index.js +3 -2
  7. package/es/components/booking/components/footer/amount.js +4 -5
  8. package/es/components/booking/components/footer/index.js +7 -0
  9. package/es/components/booking/components/footer/utils.d.ts +1 -1
  10. package/es/components/booking/components/footer/utils.js +10 -15
  11. package/es/components/booking/components/voucher/index.js +7 -1
  12. package/es/components/booking/components/voucher/index.less +4 -1
  13. package/es/components/booking/components/voucherModal/index.less +1 -0
  14. package/es/components/booking/info2/service/editService/index.js +10 -8
  15. package/es/components/booking/info2/service/editService/utils.d.ts +0 -1
  16. package/es/components/booking/info2/service/editService/utils.js +0 -16
  17. package/es/components/booking/payments/index.js +1 -1
  18. package/es/components/checkout/components/WalletPassModule/index.js +1 -0
  19. package/es/components/checkout/components/WalletPassModule/utils.d.ts +1 -0
  20. package/es/components/checkout/components/WalletPassModule/utils.js +17 -3
  21. package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
  22. package/es/components/checkout/hooks/useWalletPass.js +316 -192
  23. package/es/components/pay/toC/PaymentMethods/WalletPass/index.d.ts +5 -0
  24. package/es/components/pay/toC/PaymentMethods/WalletPass/index.js +166 -145
  25. package/es/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  26. package/es/components/pay/toC/PaymentMethods/WalletPass/utils.js +3 -3
  27. package/es/components/pay/toC/WalletPassBlock/index.js +3 -1
  28. package/es/components/pay/toC/index.js +66 -27
  29. package/es/components/pay/toC/model.d.ts +1 -0
  30. package/es/components/pay/toC/serve.d.ts +18 -0
  31. package/es/components/pay/toC/serve.js +29 -1
  32. package/es/components/pay/toC/utils.d.ts +2 -2
  33. package/es/components/pay/toC/utils.js +4 -0
  34. package/es/components/ticketBooking/components/addServiceVariant/addService.js +7 -4
  35. package/lib/components/appointmentBooking/components/Voucher/index.js +10 -2
  36. package/lib/components/booking/addons/index.js +3 -2
  37. package/lib/components/booking/components/footer/amount.js +4 -4
  38. package/lib/components/booking/components/footer/index.js +9 -0
  39. package/lib/components/booking/components/footer/utils.d.ts +1 -1
  40. package/lib/components/booking/components/footer/utils.js +10 -15
  41. package/lib/components/booking/components/voucher/index.js +7 -1
  42. package/lib/components/booking/components/voucher/index.less +4 -1
  43. package/lib/components/booking/components/voucherModal/index.less +1 -0
  44. package/lib/components/booking/info2/service/editService/index.js +24 -21
  45. package/lib/components/booking/info2/service/editService/utils.d.ts +0 -1
  46. package/lib/components/booking/info2/service/editService/utils.js +0 -16
  47. package/lib/components/booking/payments/index.js +1 -1
  48. package/lib/components/checkout/components/WalletPassModule/index.js +1 -0
  49. package/lib/components/checkout/components/WalletPassModule/utils.d.ts +1 -0
  50. package/lib/components/checkout/components/WalletPassModule/utils.js +18 -2
  51. package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
  52. package/lib/components/checkout/hooks/useWalletPass.js +157 -108
  53. package/lib/components/pay/toC/PaymentMethods/WalletPass/index.d.ts +5 -0
  54. package/lib/components/pay/toC/PaymentMethods/WalletPass/index.js +90 -103
  55. package/lib/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  56. package/lib/components/pay/toC/PaymentMethods/WalletPass/utils.js +2 -2
  57. package/lib/components/pay/toC/WalletPassBlock/index.js +3 -1
  58. package/lib/components/pay/toC/index.js +52 -11
  59. package/lib/components/pay/toC/model.d.ts +1 -0
  60. package/lib/components/pay/toC/serve.d.ts +18 -0
  61. package/lib/components/pay/toC/serve.js +6 -0
  62. package/lib/components/pay/toC/utils.d.ts +2 -2
  63. package/lib/components/pay/toC/utils.js +4 -0
  64. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +11 -7
  65. package/package.json +3 -3
  66. package/es/components/booking/info/service2/utils.d.ts +0 -219
  67. package/lib/components/booking/info/service2/utils.d.ts +0 -219
@@ -23,13 +23,14 @@ import PayAmount from "./PayAmount";
23
23
  import WalletPassBlock from "./WalletPassBlock";
24
24
  import PaymentList from "./PaymentList";
25
25
  import PaymentMethods from "./PaymentMethods";
26
- import { getPaymentsAndWalletPass, getPaymentInit, getWalletNameAndPopupStatus } from "./serve";
26
+ import { getPaymentsAndWalletPass, getPaymentInit, getWalletNameAndPopupStatus, getOrderBasicDetail } from "./serve";
27
27
  import { Provider, Context } from "./model";
28
28
  import useEngineContext from "../../../hooks/useEngineContext";
29
29
  import usePaymentLogger from "../../../hooks/usePaymentLogger";
30
30
  import { request } from "../../../utils";
31
31
  import { removePayGroupFromStorage } from "./payGroup";
32
32
  import localeTexts from "./locales";
33
+ import { getMachineCodeList } from "./PaymentMethods/WalletPass/serve";
33
34
  import { getIsWalletPassAndTripartitePayment } from "./utils";
34
35
  import { saleChannelMap } from "./status";
35
36
  import "./index.less";
@@ -263,7 +264,7 @@ var ToCPay = function ToCPay(props, ref) {
263
264
  */
264
265
  var _getPaymentsAndWalletPass = /*#__PURE__*/function () {
265
266
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(order) {
266
- var _state$payGroup2, _paymentListRef$curre, data, _ref4, _ref4$remain_amount, remain_amount, wallet_pass_recommend_list, wallet_pass_amount, payment_list, walletPass, withCustomerIdList;
267
+ var _order$_order, _state$payGroup2, _paymentListRef$curre, _yield$Promise$all, _yield$Promise$all2, data, allList, orderBasicDetail, _ref4, _ref4$remain_amount, remain_amount, wallet_pass_recommend_list, wallet_pass_amount, payment_list, walletPass, products, _res, recommended, transformList, noApplicableVoucher, recommendedAmount, withCustomerIdList, _waitAmount2;
267
268
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
268
269
  while (1) switch (_context3.prev = _context3.next) {
269
270
  case 0:
@@ -276,14 +277,42 @@ var ToCPay = function ToCPay(props, ref) {
276
277
  });
277
278
  _context3.prev = 1;
278
279
  _context3.next = 4;
279
- return getPaymentsAndWalletPass({
280
+ return Promise.all([getPaymentsAndWalletPass({
280
281
  order_id: order.order_id,
281
282
  total_amount: order.amount,
282
283
  sale_channel: order.sale_channel || 'online-store'
283
- });
284
+ }), getMachineCodeList({
285
+ order_id: order.order_id,
286
+ available: 2,
287
+ prepare_payments: [],
288
+ filter_prepare_wallet_pass: 1,
289
+ sale_channel: ((_order$_order = order._order) === null || _order$_order === void 0 ? void 0 : _order$_order.sale_channel) || 'online-store',
290
+ other_exact_codes: []
291
+ }), getOrderBasicDetail(order.order_id)]);
284
292
  case 4:
285
- data = _context3.sent;
286
- _ref4 = data || {}, _ref4$remain_amount = _ref4.remain_amount, remain_amount = _ref4$remain_amount === void 0 ? 0 : _ref4$remain_amount, wallet_pass_recommend_list = _ref4.wallet_pass_recommend_list, wallet_pass_amount = _ref4.wallet_pass_amount, payment_list = _ref4.payment_list, walletPass = _ref4.walletPass; // 记录获取到的数据
293
+ _yield$Promise$all = _context3.sent;
294
+ _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);
295
+ data = _yield$Promise$all2[0];
296
+ allList = _yield$Promise$all2[1];
297
+ orderBasicDetail = _yield$Promise$all2[2];
298
+ _ref4 = data || {}, _ref4$remain_amount = _ref4.remain_amount, remain_amount = _ref4$remain_amount === void 0 ? 0 : _ref4$remain_amount, wallet_pass_recommend_list = _ref4.wallet_pass_recommend_list, wallet_pass_amount = _ref4.wallet_pass_amount, payment_list = _ref4.payment_list, walletPass = _ref4.walletPass;
299
+ products = (orderBasicDetail.detail || []).map(function (item) {
300
+ var _ref5;
301
+ return _objectSpread(_objectSpread({}, item), {}, {
302
+ is_price_include_tax: orderBasicDetail.is_price_include_tax,
303
+ product_bundle: (_ref5 = item.product_bundle || []) === null || _ref5 === void 0 ? void 0 : _ref5.map(function (bundle) {
304
+ return _objectSpread(_objectSpread({}, bundle), {}, {
305
+ is_price_include_tax: orderBasicDetail.is_price_include_tax
306
+ });
307
+ })
308
+ });
309
+ });
310
+ _res = utils.walletPassEvaluator.getRecommendedVouchers({
311
+ orderTotalAmount: Math.min(orderBasicDetail.product_unpaid_total_pay_amount, order.amount),
312
+ products: products,
313
+ vouchers: allList || []
314
+ });
315
+ recommended = _res.recommended, transformList = _res.transformList, noApplicableVoucher = _res.noApplicableVoucher, recommendedAmount = _res.recommendedAmount; // 记录获取到的数据
287
316
  paymentLogger.addLog({
288
317
  key: '支付数据获取',
289
318
  value: ''
@@ -292,30 +321,40 @@ var ToCPay = function ToCPay(props, ref) {
292
321
  return _objectSpread(_objectSpread({}, item), {}, {
293
322
  customer_id: customer_id || item.customer_id
294
323
  });
295
- }); // 设置交易组
324
+ });
325
+ _waitAmount2 = new Decimal((order === null || order === void 0 ? void 0 : order.amount) || 0).minus(new Decimal(recommendedAmount)).toNumber(); // 设置交易组
296
326
  dispatch({
297
327
  type: 'setPayGroup',
298
328
  payload: {
299
329
  // ...state.payGroup,
300
330
  order_id: order === null || order === void 0 ? void 0 : order.order_id,
301
331
  // total_amount: order?.amount,
332
+ orderDetail: orderBasicDetail,
302
333
  // 原订单信息
303
334
  _order: order,
304
335
  payment_group_id: order === null || order === void 0 ? void 0 : order.payment_group_id,
305
336
  // 支付方式没有walletPass时walletPass设置null
306
337
  walletPass: walletPass ? _objectSpread(_objectSpread(_objectSpread({}, (_state$payGroup2 = state.payGroup) === null || _state$payGroup2 === void 0 ? void 0 : _state$payGroup2.walletPass), walletPass), {}, {
307
- amount: wallet_pass_amount,
308
- cards: withCustomerIdList
338
+ // 推荐钱包
339
+ cards: recommended,
340
+ // 推荐金额
341
+ amount: recommendedAmount,
342
+ // 不可用钱包
343
+ noApplicableVoucher: noApplicableVoucher,
344
+ // 转换列表
345
+ transformList: transformList
346
+ // amount: wallet_pass_amount,
347
+ // cards: wallet_pass_recommend_list,
309
348
  }) : null,
310
349
  total_amount: order === null || order === void 0 ? void 0 : order.amount,
311
- wait_amount: remain_amount
350
+ wait_amount: Math.max(0, _waitAmount2)
312
351
  }
313
352
  });
314
353
 
315
354
  // 初始化支付列表
316
- _context3.next = 11;
355
+ _context3.next = 19;
317
356
  return (_paymentListRef$curre = paymentListRef.current) === null || _paymentListRef$curre === void 0 ? void 0 : _paymentListRef$curre.init(payment_list, remain_amount || 0);
318
- case 11:
357
+ case 19:
319
358
  // 解除loading
320
359
  setTimeout(function () {
321
360
  setLoading(false);
@@ -326,10 +365,10 @@ var ToCPay = function ToCPay(props, ref) {
326
365
  key: '获取支付列表成功',
327
366
  value: ''
328
367
  });
329
- _context3.next = 21;
368
+ _context3.next = 29;
330
369
  break;
331
- case 15:
332
- _context3.prev = 15;
370
+ case 23:
371
+ _context3.prev = 23;
333
372
  _context3.t0 = _context3["catch"](1);
334
373
  console.log('err', _context3.t0);
335
374
 
@@ -352,11 +391,11 @@ var ToCPay = function ToCPay(props, ref) {
352
391
  fn: '_getPaymentsAndWalletPass'
353
392
  }
354
393
  });
355
- case 21:
394
+ case 29:
356
395
  case "end":
357
396
  return _context3.stop();
358
397
  }
359
- }, _callee3, null, [[1, 15]]);
398
+ }, _callee3, null, [[1, 23]]);
360
399
  }));
361
400
  return function _getPaymentsAndWalletPass(_x3) {
362
401
  return _ref3.apply(this, arguments);
@@ -373,7 +412,7 @@ var ToCPay = function ToCPay(props, ref) {
373
412
  * @Date: 2024-08-16 10:46
374
413
  */
375
414
  var handlePaymentByType = /*#__PURE__*/function () {
376
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(type, payGroup) {
415
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(type, payGroup) {
377
416
  var _state$payGroup3;
378
417
  var paymentType, currentPayGroup, _paymentMethodsRef$cu;
379
418
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
@@ -433,7 +472,7 @@ var ToCPay = function ToCPay(props, ref) {
433
472
  }, _callee4, null, [[3, 12]]);
434
473
  }));
435
474
  return function handlePaymentByType(_x4, _x5) {
436
- return _ref5.apply(this, arguments);
475
+ return _ref6.apply(this, arguments);
437
476
  };
438
477
  }();
439
478
 
@@ -445,7 +484,7 @@ var ToCPay = function ToCPay(props, ref) {
445
484
  * @Date: 2024-08-15 13:41
446
485
  */
447
486
  var paymentInit = /*#__PURE__*/function () {
448
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(newOrderId) {
487
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(newOrderId) {
449
488
  var _state$payGroup4;
450
489
  var orderId, _state$payGroup5, data;
451
490
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
@@ -519,7 +558,7 @@ var ToCPay = function ToCPay(props, ref) {
519
558
  }, _callee5, null, [[3, 12]]);
520
559
  }));
521
560
  return function paymentInit(_x6) {
522
- return _ref6.apply(this, arguments);
561
+ return _ref7.apply(this, arguments);
523
562
  };
524
563
  }();
525
564
 
@@ -578,7 +617,7 @@ var ToCPay = function ToCPay(props, ref) {
578
617
  * @Date: 2024-08-30 10:23:48
579
618
  */
580
619
  var getIsShowDetectIncognitoConfirm = /*#__PURE__*/function () {
581
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(payGroup) {
620
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(payGroup) {
582
621
  var _yield$detectIncognit, isPrivate;
583
622
  return _regeneratorRuntime().wrap(function _callee6$(_context6) {
584
623
  while (1) switch (_context6.prev = _context6.next) {
@@ -596,7 +635,7 @@ var ToCPay = function ToCPay(props, ref) {
596
635
  }, _callee6);
597
636
  }));
598
637
  return function getIsShowDetectIncognitoConfirm(_x7) {
599
- return _ref7.apply(this, arguments);
638
+ return _ref8.apply(this, arguments);
600
639
  };
601
640
  }();
602
641
 
@@ -608,7 +647,7 @@ var ToCPay = function ToCPay(props, ref) {
608
647
  * @Date: 2024-08-15 13:25
609
648
  */
610
649
  var onSubmit = /*#__PURE__*/function () {
611
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(newOrderId) {
650
+ var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(newOrderId) {
612
651
  var _state$payGroup10, _state$payGroup11, _state$payGroup12;
613
652
  var newPayGroup, _state$payGroup13, _newPayGroup, _newPayGroup2, _state$payGroup14, result, _state$payGroup15;
614
653
  return _regeneratorRuntime().wrap(function _callee7$(_context7) {
@@ -686,7 +725,7 @@ var ToCPay = function ToCPay(props, ref) {
686
725
  }, _callee7, null, [[2, 20]]);
687
726
  }));
688
727
  return function onSubmit(_x8) {
689
- return _ref8.apply(this, arguments);
728
+ return _ref9.apply(this, arguments);
690
729
  };
691
730
  }();
692
731
 
@@ -743,7 +782,7 @@ var ToCPay = function ToCPay(props, ref) {
743
782
  * @Date: 2024-08-09 14:25
744
783
  */
745
784
  var payCallback = /*#__PURE__*/function () {
746
- var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(res) {
785
+ var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(res) {
747
786
  var _res$data, _state$payGroup20, _props$callback;
748
787
  var orderId, _res$data2;
749
788
  return _regeneratorRuntime().wrap(function _callee8$(_context8) {
@@ -783,7 +822,7 @@ var ToCPay = function ToCPay(props, ref) {
783
822
  }, _callee8);
784
823
  }));
785
824
  return function payCallback(_x9) {
786
- return _ref9.apply(this, arguments);
825
+ return _ref10.apply(this, arguments);
787
826
  };
788
827
  }();
789
828
 
@@ -29,6 +29,7 @@ export interface PayGroup {
29
29
  pay_number?: string;
30
30
  _order: any;
31
31
  front_order_uuid?: string;
32
+ orderDetail: any;
32
33
  }
33
34
  export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
34
35
  state: FormState;
@@ -62,3 +62,21 @@ export declare const getWalletNameAndPopupStatus: (values: {
62
62
  * @description: 获取支付结果
63
63
  */
64
64
  export declare const getPaymentResult: (values: any) => Promise<any>;
65
+ declare type OrderBasicDetail = {
66
+ id: number;
67
+ status: string;
68
+ payment_status: string;
69
+ order_time: string;
70
+ detail: any[];
71
+ product_unpaid_total_pay_amount: number;
72
+ product_paid_total_pay_amount: number;
73
+ is_price_include_tax: 1 | 0;
74
+ };
75
+ /**
76
+ * @title: 查询订单基础信息和订单商品信息
77
+ * @description: 查询订单基础信息和订单商品信息
78
+ * @param {string} order_id
79
+ * @return {*}
80
+ */
81
+ export declare const getOrderBasicDetail: (order_id: string) => Promise<OrderBasicDetail>;
82
+ export {};
@@ -185,4 +185,32 @@ export var getWalletNameAndPopupStatus = /*#__PURE__*/function () {
185
185
  */
186
186
  export var getPaymentResult = function getPaymentResult(values) {
187
187
  return request.getRequest().get("/h5/pay/order/payment/result", values);
188
- };
188
+ };
189
+ /**
190
+ * @title: 查询订单基础信息和订单商品信息
191
+ * @description: 查询订单基础信息和订单商品信息
192
+ * @param {string} order_id
193
+ * @return {*}
194
+ */
195
+ export var getOrderBasicDetail = /*#__PURE__*/function () {
196
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(order_id) {
197
+ var _yield$request$getReq5, data;
198
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
199
+ while (1) switch (_context5.prev = _context5.next) {
200
+ case 0:
201
+ _context5.next = 2;
202
+ return request.getRequest().get("/h5/order/order/".concat(order_id, "/basic-detail"), {});
203
+ case 2:
204
+ _yield$request$getReq5 = _context5.sent;
205
+ data = _yield$request$getReq5.data;
206
+ return _context5.abrupt("return", data);
207
+ case 5:
208
+ case "end":
209
+ return _context5.stop();
210
+ }
211
+ }, _callee5);
212
+ }));
213
+ return function getOrderBasicDetail(_x5) {
214
+ return _ref5.apply(this, arguments);
215
+ };
216
+ }();
@@ -22,7 +22,7 @@ export declare const formatWalletPassParams: (payGroup: PayGroup) => {
22
22
  order_id: string;
23
23
  payment_group_id: number;
24
24
  payments: {
25
- amount: string;
25
+ amount: string | number;
26
26
  wallet_pass_use_value: any;
27
27
  voucher_id: any;
28
28
  tag: any;
@@ -48,7 +48,7 @@ export declare const isFranchiseeShop: (path?: any, history?: any) => any;
48
48
  */
49
49
  export declare const getFranchiseeShopId: (path?: any, history?: any) => number;
50
50
  export declare const formatFranchiseeRoute: (url: string, history?: any) => string;
51
- export declare const getAvailableMaxAmount: (data: WalletPassDataType) => string;
51
+ export declare const getAvailableMaxAmount: (data: WalletPassDataType) => string | number;
52
52
  export declare const clientPayment: (params: {
53
53
  order_id: number;
54
54
  type: "aliPay" | "wxPay" | 'google_pay';
@@ -6,6 +6,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
6
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
7
  import { Decimal } from 'decimal.js';
8
8
  import { isTripartitePayment } from "./status";
9
+ import { isNumber } from "@pisell/utils";
9
10
  /**
10
11
  * 计算walletPass列表数据的总金额
11
12
  * @param list
@@ -95,6 +96,9 @@ export var formatFranchiseeRoute = function formatFranchiseeRoute(url, history)
95
96
 
96
97
  // 获取walletPass可用最大金额
97
98
  export var getAvailableMaxAmount = function getAvailableMaxAmount(data) {
99
+ if (isNumber(data._available_max_amount)) {
100
+ return data._available_max_amount;
101
+ }
98
102
  return data.tag !== 'point_card' ? data.available_max_amount : data === null || data === void 0 ? void 0 : data.recommended_usage_amount;
99
103
  };
100
104
  export var clientPayment = function clientPayment(params) {
@@ -51,7 +51,7 @@ var productListSetting = {
51
51
  isStock: 0
52
52
  };
53
53
  var AddSerivce = function AddSerivce(props) {
54
- var _context$appHelper, _context$appHelper$ge, _context$appHelper$ut, _context$appHelper$ut2, _context$appHelper$ut3, _state$bookingConfig2, _state$client2;
54
+ var _context$appHelper, _context$appHelper2, _context$appHelper2$g, _context$appHelper$ut2, _context$appHelper$ut3, _context$appHelper$ut4, _state$bookingConfig2, _state$client2;
55
55
  var onEdit = props.onEdit,
56
56
  state = props.state,
57
57
  dispatch = props.dispatch,
@@ -59,6 +59,8 @@ var AddSerivce = function AddSerivce(props) {
59
59
  renderMode = _props$renderMode === void 0 ? 'current' : _props$renderMode,
60
60
  productDisplayConfig = props.productDisplayConfig;
61
61
  var context = useEngineContext();
62
+ var _context$appHelper$ut = (_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 ? void 0 : _context$appHelper.utils,
63
+ getData = _context$appHelper$ut.getData;
62
64
  var notAvailableRef = useRef(null);
63
65
  request.setRequest(context.appHelper.utils.request);
64
66
  var isActive = useIsActive();
@@ -71,7 +73,7 @@ var AddSerivce = function AddSerivce(props) {
71
73
  }),
72
74
  createBookingData = _useService.createBookingData,
73
75
  createBooking = _useService.createBooking;
74
- var isBooking4 = isBooking4Shop(((_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 || (_context$appHelper = _context$appHelper.utils) === null || _context$appHelper === void 0 || (_context$appHelper$ge = _context$appHelper.getData) === null || _context$appHelper$ge === void 0 ? void 0 : _context$appHelper$ge.call(_context$appHelper, 'shop_id')) || ((_context$appHelper$ut = context.appHelper.utils.store) === null || _context$appHelper$ut === void 0 || (_context$appHelper$ut2 = _context$appHelper$ut.getState) === null || _context$appHelper$ut2 === void 0 || (_context$appHelper$ut2 = _context$appHelper$ut2.call(_context$appHelper$ut)) === null || _context$appHelper$ut2 === void 0 || (_context$appHelper$ut2 = _context$appHelper$ut2.global) === null || _context$appHelper$ut2 === void 0 || (_context$appHelper$ut2 = _context$appHelper$ut2.globalConfig) === null || _context$appHelper$ut2 === void 0 ? void 0 : _context$appHelper$ut2.id), state === null || state === void 0 ? void 0 : state.renderType, (_context$appHelper$ut3 = context.appHelper.utils) === null || _context$appHelper$ut3 === void 0 ? void 0 : _context$appHelper$ut3.businessUtils);
76
+ var isBooking4 = isBooking4Shop(((_context$appHelper2 = context.appHelper) === null || _context$appHelper2 === void 0 || (_context$appHelper2 = _context$appHelper2.utils) === null || _context$appHelper2 === void 0 || (_context$appHelper2$g = _context$appHelper2.getData) === null || _context$appHelper2$g === void 0 ? void 0 : _context$appHelper2$g.call(_context$appHelper2, 'shop_id')) || ((_context$appHelper$ut2 = context.appHelper.utils.store) === null || _context$appHelper$ut2 === void 0 || (_context$appHelper$ut3 = _context$appHelper$ut2.getState) === null || _context$appHelper$ut3 === void 0 || (_context$appHelper$ut3 = _context$appHelper$ut3.call(_context$appHelper$ut2)) === null || _context$appHelper$ut3 === void 0 || (_context$appHelper$ut3 = _context$appHelper$ut3.global) === null || _context$appHelper$ut3 === void 0 || (_context$appHelper$ut3 = _context$appHelper$ut3.globalConfig) === null || _context$appHelper$ut3 === void 0 ? void 0 : _context$appHelper$ut3.id), state === null || state === void 0 ? void 0 : state.renderType, (_context$appHelper$ut4 = context.appHelper.utils) === null || _context$appHelper$ut4 === void 0 ? void 0 : _context$appHelper$ut4.businessUtils);
75
77
  var _useState = useState(null),
76
78
  _useState2 = _slicedToArray(_useState, 2),
77
79
  currentProduct = _useState2[0],
@@ -219,7 +221,7 @@ var AddSerivce = function AddSerivce(props) {
219
221
  var processAddService = useMemoizedFn( /*#__PURE__*/function () {
220
222
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(item, _detail, e, notShowToast, startDate, endDate) {
221
223
  var _state$client3, _state$bookingConfig3, _state$bookingConfig4;
222
- var other, cacheItem, _total, _isEdit, _stateRef$current$ser, isMultiDay, getMultiDayCacheItem, res, _state$bookingConfig5, _addService2, _list, quantity, _context$appHelper$ut4, _context$appHelper$ut5, val, sendData, _window$openBookingEd, _window;
224
+ var other, cacheItem, _total, _isEdit, _stateRef$current$ser, isMultiDay, getMultiDayCacheItem, res, _state$bookingConfig5, _addService2, _list, quantity, _context$appHelper$ut5, _context$appHelper$ut6, val, sendData, _window$openBookingEd, _window;
223
225
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
224
226
  while (1) switch (_context2.prev = _context2.next) {
225
227
  case 0:
@@ -229,6 +231,7 @@ var AddSerivce = function AddSerivce(props) {
229
231
  product_id: item.id,
230
232
  _id: getUniqueId(),
231
233
  _key: e.key,
234
+ is_price_include_tax: getData('is_price_include_tax'),
232
235
  _extend: {
233
236
  start_date: startDate,
234
237
  quantity: (e === null || e === void 0 ? void 0 : e.quantity) || 1,
@@ -338,7 +341,7 @@ var AddSerivce = function AddSerivce(props) {
338
341
  }
339
342
  }));
340
343
  try {
341
- if (((_context$appHelper$ut4 = context.appHelper.utils.store) === null || _context$appHelper$ut4 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut4.getState) === null || _context$appHelper$ut5 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut5.call(_context$appHelper$ut4)) === null || _context$appHelper$ut5 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut5.global) === null || _context$appHelper$ut5 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut5.globalConfig) === null || _context$appHelper$ut5 === void 0 ? void 0 : _context$appHelper$ut5.id) === 2155) {
344
+ if (((_context$appHelper$ut5 = context.appHelper.utils.store) === null || _context$appHelper$ut5 === void 0 || (_context$appHelper$ut6 = _context$appHelper$ut5.getState) === null || _context$appHelper$ut6 === void 0 || (_context$appHelper$ut6 = _context$appHelper$ut6.call(_context$appHelper$ut5)) === null || _context$appHelper$ut6 === void 0 || (_context$appHelper$ut6 = _context$appHelper$ut6.global) === null || _context$appHelper$ut6 === void 0 || (_context$appHelper$ut6 = _context$appHelper$ut6.globalConfig) === null || _context$appHelper$ut6 === void 0 ? void 0 : _context$appHelper$ut6.id) === 2155) {
342
345
  val = _list === null || _list === void 0 ? void 0 : _list.map(function (s) {
343
346
  return {
344
347
  product_id: s === null || s === void 0 ? void 0 : s.product_id,
@@ -43,6 +43,8 @@ var import_materials = require("@pisell/materials");
43
43
  var import_hooks = require("../../hooks");
44
44
  var import_voucher = require("../../../booking/components/voucher/index.less");
45
45
  var import_index = require("./index.less");
46
+ var import_context = require("../../context");
47
+ var import_ahooks = require("ahooks");
46
48
  var ShopDiscountHooks = {
47
49
  onInited: "shopDiscount:onInited",
48
50
  onDestroy: "shopDiscount:onDestroy",
@@ -66,11 +68,17 @@ var VoucherCard = (props) => {
66
68
  const productRef = (0, import_react.useRef)(products);
67
69
  const { openLoginModal } = (0, import_hooks.useAppointmentBookingLogin)();
68
70
  const { accountLists } = (0, import_hooks.useAppointmentBookingAccount)();
71
+ const { summary } = (0, import_context.useAppointmentBookingContext)();
72
+ const { originTotal, total } = summary;
69
73
  const cart = (_b = appointmentBooking == null ? void 0 : appointmentBooking.store) == null ? void 0 : _b.cart;
70
74
  const isUserLoggedIn = (0, import_react.useMemo)(() => {
71
75
  var _a2, _b2;
72
76
  return !!((_b2 = (_a2 = utils == null ? void 0 : utils.token) == null ? void 0 : _a2.get) == null ? void 0 : _b2.call(_a2)) || false;
73
77
  }, [store]);
78
+ (0, import_react.useEffect)(() => {
79
+ const shopDiscount2 = pisellos.getModule("shopDiscount");
80
+ shopDiscount2.setOriginTotalAmount(originTotal);
81
+ }, [originTotal]);
74
82
  const availableData = (0, import_react.useMemo)(() => {
75
83
  return discountList.filter((item) => !!item.isAvailable).map((discount) => {
76
84
  return {
@@ -106,7 +114,7 @@ var VoucherCard = (props) => {
106
114
  });
107
115
  (_a2 = appointmentBooking == null ? void 0 : appointmentBooking.batchUpdateCart) == null ? void 0 : _a2.call(appointmentBooking, items);
108
116
  };
109
- const onCartChange = () => {
117
+ const { run: onCartChange } = (0, import_ahooks.useDebounceFn)(() => {
110
118
  var _a2, _b2, _c;
111
119
  const products2 = cart == null ? void 0 : cart.getItems();
112
120
  (_c = shopDiscount == null ? void 0 : shopDiscount.setBookingSubject) == null ? void 0 : _c.call(
@@ -115,7 +123,7 @@ var VoucherCard = (props) => {
115
123
  );
116
124
  const val = shopDiscount.calcDiscount(products2);
117
125
  batchUpdateCart(val.productList);
118
- };
126
+ }, { wait: 200 });
119
127
  const stringifiedHolders = (0, import_react.useMemo)(() => {
120
128
  let _ret;
121
129
  try {
@@ -68,14 +68,15 @@ var formatProducts = (values) => {
68
68
  discountway: "num",
69
69
  discount_type: "discount",
70
70
  bundle_edit: (_c = item._extend) == null ? void 0 : _c.bundle_edit,
71
- product_bundle: (0, import_utils.formatProductBundle)((_e = (_d = item._extend) == null ? void 0 : _d.other) == null ? void 0 : _e.bundle),
71
+ product_bundle: (0, import_utils.formatProductBundle)((_e = (_d = item._extend) == null ? void 0 : _d.other) == null ? void 0 : _e.bundle, item.is_price_include_tax),
72
72
  "product_option_item": (0, import_utils.formatProductOption)((_g = (_f = item._extend) == null ? void 0 : _f.other) == null ? void 0 : _g.option),
73
73
  "product_variant_id": ((_i = (_h = item._extend) == null ? void 0 : _h.other) == null ? void 0 : _i.product_variant_id) || 0,
74
74
  "source_product_price": (0, import_utils.getSourceProductPrice)(item),
75
75
  "main_product_selling_price": (0, import_utils.getMainProductSellingPrice)(item) ?? (0, import_utils.formatProductPrice)(item),
76
76
  "calculated_original_price": (0, import_utils.formatOriginalPrice)(item),
77
77
  "calculated_selling_price": (0, import_utils.formatSellingPrice)(item),
78
- "tax_fee": item._extend.tax_fee
78
+ "tax_fee": item._extend.tax_fee,
79
+ is_price_include_tax: item.is_price_include_tax
79
80
  };
80
81
  });
81
82
  return arr;
@@ -323,7 +323,7 @@ var processItemsTax = (items, state, options) => {
323
323
  }
324
324
  }
325
325
  }
326
- return { originTax: expectedOriginTax, tax: expectedTax, taxDecimal: preciseTax };
326
+ return { originTax: expectedOriginTax, tax: expectedTax };
327
327
  };
328
328
  var clearTaxFee = (state) => {
329
329
  var _a, _b;
@@ -376,7 +376,7 @@ var getTax = (state, options) => {
376
376
  computed
377
377
  });
378
378
  totalOriginTax = totalOriginTax.plus(serviceResult.originTax);
379
- totalTax = totalTax.plus(serviceResult.taxDecimal);
379
+ totalTax = totalTax.plus(serviceResult.tax);
380
380
  }
381
381
  if ((_c = state == null ? void 0 : state.addons) == null ? void 0 : _c.value) {
382
382
  const addonsResult = processItemsTax(state.addons.value, state, {
@@ -385,7 +385,7 @@ var getTax = (state, options) => {
385
385
  computed
386
386
  });
387
387
  totalOriginTax = totalOriginTax.plus(addonsResult.originTax);
388
- totalTax = totalTax.plus(addonsResult.taxDecimal);
388
+ totalTax = totalTax.plus(addonsResult.tax);
389
389
  }
390
390
  }
391
391
  return {
@@ -508,7 +508,7 @@ var getMainProductTotal = (item) => {
508
508
  if (getBundleItemIsMarkupOrDiscountPrice(bundleItem)) {
509
509
  const discountAmount = getDiscountAmount(bundleItem.discount_list);
510
510
  const bundleItemPrice = new import_decimal.default(bundleItem.bundle_selling_price ?? bundleItem.price ?? 0);
511
- const bundleItemTotal = bundleItemPrice.minus(discountAmount);
511
+ const bundleItemTotal = bundleItemPrice;
512
512
  total = total.add(bundleItemTotal);
513
513
  }
514
514
  }
@@ -269,6 +269,15 @@ var Footer = (props) => {
269
269
  ...getDataFromHost()
270
270
  });
271
271
  }, [state, isEdit]);
272
+ (0, import_react.useEffect)(() => {
273
+ window.dispatchEvent(
274
+ new CustomEvent("onOriginExpectAmountWithoutDiscountChange", {
275
+ detail: {
276
+ originExpectAmountWithoutDiscount: total == null ? void 0 : total.originExpectAmountWithoutDiscount
277
+ }
278
+ })
279
+ );
280
+ }, [total == null ? void 0 : total.originExpectAmountWithoutDiscount]);
272
281
  (0, import_ahooks.useDebounceEffect)(() => {
273
282
  var _a2;
274
283
  if ((_a2 = state == null ? void 0 : state.service) == null ? void 0 : _a2.addTimeModal) {
@@ -15,7 +15,7 @@ export declare const formatProductOption: (option: any) => any;
15
15
  * @Author: zhiwei.Wang
16
16
  * @Date: 2024-02-19 09:26
17
17
  */
18
- export declare const formatProductBundle: (bundle: any) => any;
18
+ export declare const formatProductBundle: (bundle: any, is_price_include_tax: number) => any;
19
19
  /**
20
20
  * 获取子商品折扣信息
21
21
  * @param item
@@ -97,7 +97,7 @@ var log = (data) => {
97
97
  ]
98
98
  });
99
99
  };
100
- var formatProductBundle = (bundle) => {
100
+ var formatProductBundle = (bundle, is_price_include_tax) => {
101
101
  if (!bundle) {
102
102
  return;
103
103
  }
@@ -111,14 +111,13 @@ var formatProductBundle = (bundle) => {
111
111
  } catch (error) {
112
112
  }
113
113
  return bundle.map((d) => {
114
- var _a;
115
114
  const option = formatProductOption(d.option);
116
115
  const option_price = option.reduce((temp, item) => {
117
116
  return temp + Number(item.num) * item.custom_add_price;
118
117
  }, 0);
119
118
  const product_discount_difference = ((d == null ? void 0 : d.discount_list) || []).reduce((pre, cur) => {
120
- var _a2;
121
- return pre + (((_a2 = cur == null ? void 0 : cur.metadata) == null ? void 0 : _a2.product_discount_difference) || 0);
119
+ var _a;
120
+ return pre + (((_a = cur == null ? void 0 : cur.metadata) == null ? void 0 : _a.product_discount_difference) || 0);
122
121
  }, 0);
123
122
  return {
124
123
  "is_charge_tax": d.is_charge_tax,
@@ -138,8 +137,9 @@ var formatProductBundle = (bundle) => {
138
137
  "option": option,
139
138
  "bundle_selling_price": Math.abs(d == null ? void 0 : d.price),
140
139
  // "bundle_sum_price": d?.original_price || d?.original_total,
140
+ is_price_include_tax,
141
141
  "metadata": {
142
- custom_product_bundle_map_id: ((_a = d == null ? void 0 : d.metadata) == null ? void 0 : _a.custom_product_bundle_map_id) || d._id,
142
+ custom_product_bundle_map_id: d._id,
143
143
  // 子商品单数量附加费
144
144
  "surcharge_fee": d.surcharge_fee,
145
145
  // 可选,附加费均摊舍入金额
@@ -371,7 +371,7 @@ var getMainProductSellingPrice = (item) => {
371
371
  }
372
372
  return new import_decimal.default((_f = item._extend) == null ? void 0 : _f.main_product_selling_price).add(optionPrice).toNumber();
373
373
  };
374
- var formatProducts = (item, quantity, options) => {
374
+ var formatProducts = (item, quantity) => {
375
375
  var _a, _b, _c, _d, _e, _f, _g, _h, _i;
376
376
  const total = Number(item._extend.total);
377
377
  const origin_total = Number(item._extend.origin_total);
@@ -385,9 +385,6 @@ var formatProducts = (item, quantity, options) => {
385
385
  ...d.metadata,
386
386
  unique_identification_number: `${item._extend.unique_identification_number}_${d.discount.resource_id}`
387
387
  };
388
- if ((options == null ? void 0 : options.isServiceEdit) && (options == null ? void 0 : options.isMultiDay)) {
389
- delete d.id;
390
- }
391
388
  });
392
389
  const notManualDiscount = discount_list.filter(
393
390
  (item2) => item2.type !== "product"
@@ -410,7 +407,7 @@ var formatProducts = (item, quantity, options) => {
410
407
  "discount_per": item._extend.discount_per,
411
408
  "discount_type": item._extend.discount_type || discount_type,
412
409
  "order_detail_id": item._extend.order_detail_id || 0,
413
- "product_bundle": formatProductBundle((_e = (_d = item._extend) == null ? void 0 : _d.other) == null ? void 0 : _e.bundle),
410
+ "product_bundle": formatProductBundle((_e = (_d = item._extend) == null ? void 0 : _d.other) == null ? void 0 : _e.bundle, item.is_price_include_tax),
414
411
  "bundle_edit": item._extend.bundle_edit || bundleDiscountList.length ? 1 : 0,
415
412
  "product_option_item": formatProductOption((_g = (_f = item._extend) == null ? void 0 : _f.other) == null ? void 0 : _g.option),
416
413
  "product_variant_id": ((_i = (_h = item._extend) == null ? void 0 : _h.other) == null ? void 0 : _i.product_variant_id) || 0,
@@ -420,7 +417,8 @@ var formatProducts = (item, quantity, options) => {
420
417
  "calculated_original_price": formatOriginalPrice(item),
421
418
  "calculated_selling_price": formatSellingPrice(item),
422
419
  "tax_fee": item._extend.tax_fee,
423
- "custom_deposit_data": item.custom_deposit_data
420
+ "custom_deposit_data": item.custom_deposit_data,
421
+ is_price_include_tax: item.is_price_include_tax
424
422
  };
425
423
  };
426
424
  var formatAppointmentProductLists = (data) => {
@@ -528,10 +526,7 @@ var formatBookings = (data, values) => {
528
526
  item._extend.unique_identification_number = unique_identification_number;
529
527
  }
530
528
  const booking = {
531
- product: formatProducts(item, void 0, {
532
- isServiceEdit: data.service.edit,
533
- isMultiDay
534
- }),
529
+ product: formatProducts(item),
535
530
  relation_products: formatRelationDetails(item._extend.relation_details),
536
531
  id: item.booking_id || 0,
537
532
  relation_id: item._extend.relation_id || 0,
@@ -111,7 +111,7 @@ var VoucherCard = (props) => {
111
111
  const val = (_a2 = state.service.value || []) == null ? void 0 : _a2.map((value) => {
112
112
  var _a3, _b2, _c2;
113
113
  return {
114
- // booking_id: value.booking_id,
114
+ booking_id: value.booking_id,
115
115
  id: value.id,
116
116
  price: value.price,
117
117
  total: (_a3 = value == null ? void 0 : value._extend) == null ? void 0 : _a3.total,
@@ -135,11 +135,17 @@ var VoucherCard = (props) => {
135
135
  }
136
136
  onScanCode(e.detail.code);
137
137
  });
138
+ const onOriginExpectAmountWithoutDiscountChange = (0, import_ahooks.useMemoizedFn)((e) => {
139
+ var _a2;
140
+ (_a2 = shopDiscount == null ? void 0 : shopDiscount.setOriginTotalAmount) == null ? void 0 : _a2.call(shopDiscount, e.detail.originExpectAmountWithoutDiscount);
141
+ });
138
142
  (0, import_react.useEffect)(() => {
139
143
  const wrappedOnScanWallPassCode = executeIfActive(onScanWallPassCode);
140
144
  window.addEventListener("onScanWallPassCode", wrappedOnScanWallPassCode);
145
+ window.addEventListener("onOriginExpectAmountWithoutDiscountChange", onOriginExpectAmountWithoutDiscountChange);
141
146
  return () => {
142
147
  window.removeEventListener("onScanWallPassCode", wrappedOnScanWallPassCode);
148
+ window.removeEventListener("onOriginExpectAmountWithoutDiscountChange", onOriginExpectAmountWithoutDiscountChange);
143
149
  };
144
150
  }, []);
145
151
  const addonsMemo = (0, import_react.useMemo)(() => {