@pisell/private-materials 6.4.42 → 6.4.43

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 (188) 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 +146 -146
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +8 -8
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +8 -8
  11. package/es/components/booking/components/actionButtons/index.js +37 -42
  12. package/es/components/booking/components/actionButtons/index.less +0 -28
  13. package/es/components/booking/components/footer/amount.d.ts +3 -3
  14. package/es/components/booking/components/footer/amount.js +13 -2
  15. package/es/components/booking/components/footer/index.js +168 -68
  16. package/es/components/booking/components/footer/utils.js +62 -33
  17. package/es/components/booking/info/model.js +5 -0
  18. package/es/components/booking/info/service/addService/index.js +2 -1
  19. package/es/components/booking/info2/index.js +42 -2
  20. package/es/components/booking/info2/service/addService/index.js +2 -1
  21. package/es/components/booking/info2/service/editService/index.js +12 -4
  22. package/es/components/checkout/PaymentModal.d.ts +2 -0
  23. package/es/components/checkout/PaymentModal.js +395 -240
  24. package/es/components/checkout/components/AdditionalModule/index.less +1 -1
  25. package/es/components/checkout/components/AmountSummary/index.js +161 -54
  26. package/es/components/checkout/components/CashPaymentModule/index.d.ts +5 -3
  27. package/es/components/checkout/components/CashPaymentModule/index.js +114 -137
  28. package/es/components/checkout/components/CashPaymentModule/index.less +200 -176
  29. package/es/components/checkout/components/PaymentDetailModal/index.js +2 -2
  30. package/es/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.d.ts +29 -0
  31. package/es/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.js +210 -0
  32. package/es/components/checkout/components/PaymentOptionsModule/index.d.ts +2 -4
  33. package/es/components/checkout/components/PaymentOptionsModule/index.js +12 -114
  34. package/es/components/checkout/components/PaymentOptionsModule/index.less +29 -0
  35. package/es/components/checkout/components/SavePayLaterHandler/index.js +1 -1
  36. package/es/components/checkout/components/SearchAndClientModule/index.js +40 -39
  37. package/es/components/checkout/components/WalletPassModule/index.js +3 -2
  38. package/es/components/checkout/components/WalletPassModule/utils.js +6 -1
  39. package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
  40. package/es/components/checkout/hooks/useWalletPass.js +2 -0
  41. package/es/components/checkout/index.less +1 -1
  42. package/es/components/checkout/locales.d.ts +33 -0
  43. package/es/components/checkout/locales.js +39 -3
  44. package/es/components/checkout/types.d.ts +1 -0
  45. package/es/components/eftposPay/hooks.d.ts +1 -1
  46. package/es/components/eftposPay/store/index.d.ts +2 -2
  47. package/es/components/shoppingCart/components/Cart/Product.js +143 -71
  48. package/es/components/shoppingCart/components/Cart/index.js +1 -1
  49. package/es/components/shoppingCart/components/Cart/index.less +31 -0
  50. package/es/components/shoppingCart/locales.d.ts +3 -0
  51. package/es/components/shoppingCart/locales.js +12 -3
  52. package/es/components/ticketBooking/utils/index.js +2 -1
  53. package/es/pro/pisellPriceKeyboardPopover/PisellPriceKeyboardPopover.js +1 -1
  54. package/es/pro/pisellSimplePriceKeyboardPopover/PisellPriceKeyboardPopover.d.ts +5 -0
  55. package/es/pro/pisellSimplePriceKeyboardPopover/PisellPriceKeyboardPopover.js +148 -0
  56. package/es/pro/pisellSimplePriceKeyboardPopover/PisellPriceKeyboardPopover.less +23 -0
  57. package/es/pro/pisellSimplePriceKeyboardPopover/index.d.ts +2 -0
  58. package/es/pro/pisellSimplePriceKeyboardPopover/index.js +1 -0
  59. package/es/pro/pisellSimplePriceKeyboardPopover/types.d.ts +33 -0
  60. package/es/pro/pisellSimplePriceKeyboardPopover/types.js +1 -0
  61. package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.d.ts +4 -0
  62. package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +310 -0
  63. package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardSimple.d.ts +13 -0
  64. package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardSimple.js +349 -0
  65. package/es/pro/priceKeyboard/components/cashKeyboard/index.d.ts +11 -0
  66. package/es/pro/priceKeyboard/components/cashKeyboard/index.js +49 -0
  67. package/es/pro/priceKeyboard/components/cashKeyboard/index.less +103 -0
  68. package/es/pro/priceKeyboard/components/cashKeyboard/locales.d.ts +39 -0
  69. package/es/pro/priceKeyboard/components/cashKeyboard/locales.js +41 -0
  70. package/es/pro/priceKeyboard/components/cashKeyboard/types.d.ts +97 -0
  71. package/es/pro/priceKeyboard/components/cashKeyboard/types.js +1 -0
  72. package/es/pro/priceKeyboard/components/discountKeyboard/index.d.ts +22 -0
  73. package/es/pro/priceKeyboard/components/discountKeyboard/index.js +442 -0
  74. package/es/pro/priceKeyboard/components/discountKeyboard/index.less +47 -0
  75. package/es/pro/priceKeyboard/components/discountKeyboard/locales.d.ts +42 -0
  76. package/es/pro/priceKeyboard/components/discountKeyboard/locales.js +44 -0
  77. package/es/pro/priceKeyboard/components/discountKeyboard/types.d.ts +17 -0
  78. package/es/pro/priceKeyboard/components/discountKeyboard/types.js +1 -0
  79. package/es/pro/priceKeyboard/components/paymentKeyboard/index.d.ts +11 -0
  80. package/es/pro/priceKeyboard/components/paymentKeyboard/index.js +444 -0
  81. package/es/pro/priceKeyboard/components/paymentKeyboard/index.less +64 -0
  82. package/es/pro/priceKeyboard/components/paymentKeyboard/locales.d.ts +45 -0
  83. package/es/pro/priceKeyboard/components/paymentKeyboard/locales.js +47 -0
  84. package/es/pro/priceKeyboard/components/paymentKeyboard/types.d.ts +39 -0
  85. package/es/pro/priceKeyboard/components/paymentKeyboard/types.js +1 -0
  86. package/es/pro/priceKeyboard/components/shortcuts/index.d.ts +17 -0
  87. package/es/pro/priceKeyboard/components/shortcuts/index.js +47 -0
  88. package/es/pro/priceKeyboard/components/shortcuts/index.less +39 -0
  89. package/es/pro/priceKeyboard/hooks/keyActions.d.ts +28 -0
  90. package/es/pro/priceKeyboard/hooks/keyActions.js +252 -0
  91. package/es/pro/priceKeyboard/hooks/rightItems.d.ts +27 -0
  92. package/es/pro/priceKeyboard/hooks/rightItems.js +50 -0
  93. package/es/pro/priceKeyboard/index.d.ts +3 -0
  94. package/es/pro/priceKeyboard/index.js +3 -0
  95. package/es/pro/priceKeyboard/index.less +215 -0
  96. package/es/pro/priceKeyboard/utils.d.ts +31 -0
  97. package/es/pro/priceKeyboard/utils.js +51 -0
  98. package/es/pro/skuDetailModal/index.js +19 -16
  99. package/lib/components/booking/components/actionButtons/index.js +31 -28
  100. package/lib/components/booking/components/actionButtons/index.less +0 -28
  101. package/lib/components/booking/components/footer/amount.d.ts +3 -3
  102. package/lib/components/booking/components/footer/amount.js +10 -4
  103. package/lib/components/booking/components/footer/index.js +107 -40
  104. package/lib/components/booking/components/footer/utils.js +35 -7
  105. package/lib/components/booking/info/model.js +3 -0
  106. package/lib/components/booking/info/service/addService/index.js +2 -1
  107. package/lib/components/booking/info2/index.js +18 -1
  108. package/lib/components/booking/info2/service/addService/index.js +2 -1
  109. package/lib/components/booking/info2/service/editService/index.js +12 -4
  110. package/lib/components/checkout/PaymentModal.d.ts +2 -0
  111. package/lib/components/checkout/PaymentModal.js +152 -73
  112. package/lib/components/checkout/components/AdditionalModule/index.less +1 -1
  113. package/lib/components/checkout/components/AmountSummary/index.js +114 -40
  114. package/lib/components/checkout/components/CashPaymentModule/index.d.ts +5 -3
  115. package/lib/components/checkout/components/CashPaymentModule/index.js +103 -140
  116. package/lib/components/checkout/components/CashPaymentModule/index.less +200 -176
  117. package/lib/components/checkout/components/PaymentDetailModal/index.js +2 -2
  118. package/lib/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.d.ts +29 -0
  119. package/lib/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.js +172 -0
  120. package/lib/components/checkout/components/PaymentOptionsModule/index.d.ts +2 -4
  121. package/lib/components/checkout/components/PaymentOptionsModule/index.js +11 -123
  122. package/lib/components/checkout/components/PaymentOptionsModule/index.less +29 -0
  123. package/lib/components/checkout/components/SavePayLaterHandler/index.js +1 -1
  124. package/lib/components/checkout/components/SearchAndClientModule/index.js +3 -29
  125. package/lib/components/checkout/components/WalletPassModule/index.js +3 -2
  126. package/lib/components/checkout/components/WalletPassModule/utils.js +4 -1
  127. package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
  128. package/lib/components/checkout/hooks/useWalletPass.js +2 -0
  129. package/lib/components/checkout/index.less +1 -1
  130. package/lib/components/checkout/locales.d.ts +33 -0
  131. package/lib/components/checkout/locales.js +39 -3
  132. package/lib/components/checkout/types.d.ts +1 -0
  133. package/lib/components/eftposPay/hooks.d.ts +1 -1
  134. package/lib/components/eftposPay/store/index.d.ts +2 -2
  135. package/lib/components/shoppingCart/components/Cart/Product.js +111 -51
  136. package/lib/components/shoppingCart/components/Cart/index.js +1 -1
  137. package/lib/components/shoppingCart/components/Cart/index.less +31 -0
  138. package/lib/components/shoppingCart/locales.d.ts +3 -0
  139. package/lib/components/shoppingCart/locales.js +6 -3
  140. package/lib/components/ticketBooking/index.js +5 -1
  141. package/lib/components/ticketBooking/utils/index.js +2 -1
  142. package/lib/pro/pisellPriceKeyboardPopover/PisellPriceKeyboardPopover.js +2 -2
  143. package/lib/pro/pisellSimplePriceKeyboardPopover/PisellPriceKeyboardPopover.d.ts +5 -0
  144. package/lib/pro/pisellSimplePriceKeyboardPopover/PisellPriceKeyboardPopover.js +144 -0
  145. package/lib/pro/pisellSimplePriceKeyboardPopover/PisellPriceKeyboardPopover.less +23 -0
  146. package/lib/pro/pisellSimplePriceKeyboardPopover/index.d.ts +2 -0
  147. package/lib/pro/pisellSimplePriceKeyboardPopover/index.js +35 -0
  148. package/lib/pro/pisellSimplePriceKeyboardPopover/types.d.ts +33 -0
  149. package/lib/pro/pisellSimplePriceKeyboardPopover/types.js +17 -0
  150. package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.d.ts +4 -0
  151. package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +332 -0
  152. package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardSimple.d.ts +13 -0
  153. package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardSimple.js +399 -0
  154. package/lib/pro/priceKeyboard/components/cashKeyboard/index.d.ts +11 -0
  155. package/lib/pro/priceKeyboard/components/cashKeyboard/index.js +76 -0
  156. package/lib/pro/priceKeyboard/components/cashKeyboard/index.less +103 -0
  157. package/lib/pro/priceKeyboard/components/cashKeyboard/locales.d.ts +39 -0
  158. package/lib/pro/priceKeyboard/components/cashKeyboard/locales.js +65 -0
  159. package/lib/pro/priceKeyboard/components/cashKeyboard/types.d.ts +97 -0
  160. package/lib/pro/priceKeyboard/components/cashKeyboard/types.js +17 -0
  161. package/lib/pro/priceKeyboard/components/discountKeyboard/index.d.ts +22 -0
  162. package/lib/pro/priceKeyboard/components/discountKeyboard/index.js +485 -0
  163. package/lib/pro/priceKeyboard/components/discountKeyboard/index.less +47 -0
  164. package/lib/pro/priceKeyboard/components/discountKeyboard/locales.d.ts +42 -0
  165. package/lib/pro/priceKeyboard/components/discountKeyboard/locales.js +68 -0
  166. package/lib/pro/priceKeyboard/components/discountKeyboard/types.d.ts +17 -0
  167. package/lib/pro/priceKeyboard/components/discountKeyboard/types.js +17 -0
  168. package/lib/pro/priceKeyboard/components/paymentKeyboard/index.d.ts +11 -0
  169. package/lib/pro/priceKeyboard/components/paymentKeyboard/index.js +488 -0
  170. package/lib/pro/priceKeyboard/components/paymentKeyboard/index.less +64 -0
  171. package/lib/pro/priceKeyboard/components/paymentKeyboard/locales.d.ts +45 -0
  172. package/lib/pro/priceKeyboard/components/paymentKeyboard/locales.js +71 -0
  173. package/lib/pro/priceKeyboard/components/paymentKeyboard/types.d.ts +39 -0
  174. package/lib/pro/priceKeyboard/components/paymentKeyboard/types.js +17 -0
  175. package/lib/pro/priceKeyboard/components/shortcuts/index.d.ts +17 -0
  176. package/lib/pro/priceKeyboard/components/shortcuts/index.js +79 -0
  177. package/lib/pro/priceKeyboard/components/shortcuts/index.less +39 -0
  178. package/lib/pro/priceKeyboard/hooks/keyActions.d.ts +28 -0
  179. package/lib/pro/priceKeyboard/hooks/keyActions.js +176 -0
  180. package/lib/pro/priceKeyboard/hooks/rightItems.d.ts +27 -0
  181. package/lib/pro/priceKeyboard/hooks/rightItems.js +81 -0
  182. package/lib/pro/priceKeyboard/index.d.ts +3 -0
  183. package/lib/pro/priceKeyboard/index.js +45 -0
  184. package/lib/pro/priceKeyboard/index.less +215 -0
  185. package/lib/pro/priceKeyboard/utils.d.ts +31 -0
  186. package/lib/pro/priceKeyboard/utils.js +75 -0
  187. package/lib/pro/skuDetailModal/index.js +18 -22
  188. package/package.json +4 -4
@@ -33,6 +33,7 @@ __export(PaymentModal_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(PaymentModal_exports);
35
35
  var import_react = __toESM(require("react"));
36
+ var import_decimal = __toESM(require("decimal.js"));
36
37
  var import_utils = require("@pisell/utils");
37
38
  var import_locales = require("../../utils/locales");
38
39
  var import_ahooks = require("ahooks");
@@ -62,6 +63,7 @@ var import_lodash = require("lodash");
62
63
  var import_utils2 = require("./utils");
63
64
  var import_usePaymentLogger = __toESM(require("./hooks/usePaymentLogger"));
64
65
  var import_antd = require("antd");
66
+ var import_priceKeyboard = require("../../pro/priceKeyboard");
65
67
  var CheckoutHooks = {
66
68
  OnStateAmountChanged: "checkout:onStateAmountChanged",
67
69
  OnBalanceDueAmountChanged: "checkout:onBalanceDueAmountChanged",
@@ -93,7 +95,9 @@ var PaymentContent = (0, import_react.forwardRef)(
93
95
  dynamicMaxHeight = "600px",
94
96
  onOrderSyncFailed,
95
97
  generateActionButtons,
96
- paymentResultToastConfig
98
+ paymentResultToastConfig,
99
+ updateOrderInfo,
100
+ setCurrentEditOrderId
97
101
  }, ref) => {
98
102
  var _a, _b, _c;
99
103
  const context = (0, import_useEngineContext.default)();
@@ -115,6 +119,7 @@ var PaymentContent = (0, import_react.forwardRef)(
115
119
  const walletPassRef = (0, import_react.useRef)(null);
116
120
  const [paymentItems, setPaymentItems] = (0, import_react.useState)([]);
117
121
  const [walletPassData, setWalletPassData] = (0, import_react.useState)({});
122
+ const [syncingLock, setSyncingLock] = (0, import_react.useState)(false);
118
123
  const isOrderFree = (0, import_react.useMemo)(() => {
119
124
  if (!customAmount) return false;
120
125
  const amount = parseFloat(customAmount);
@@ -184,8 +189,9 @@ var PaymentContent = (0, import_react.forwardRef)(
184
189
  return surcharge;
185
190
  };
186
191
  const onPaymentOptionClick = async (method) => {
187
- var _a2;
192
+ var _a2, _b2, _c2, _d;
188
193
  const { id, code, name, type } = method || {};
194
+ const finalAmount = method.totalAmount ?? customAmount;
189
195
  const eftposCodes = [
190
196
  "EFTPOS_LINKLY",
191
197
  "EFTPOS_PAYO",
@@ -217,7 +223,7 @@ var PaymentContent = (0, import_react.forwardRef)(
217
223
  params: {
218
224
  orderId: data.orderId,
219
225
  symbol: getData("shop_symbol"),
220
- amount: customAmount,
226
+ amount: finalAmount,
221
227
  surcharge: processSurcharge(method.surcharge)
222
228
  },
223
229
  mode: "pay"
@@ -272,8 +278,19 @@ var PaymentContent = (0, import_react.forwardRef)(
272
278
  percentage: (method == null ? void 0 : method.percentage) || "0"
273
279
  };
274
280
  }
281
+ if (method.type === "custom" && ((_b2 = method.metadata) == null ? void 0 : _b2.order_open_cash_drawer)) {
282
+ logger == null ? void 0 : logger.addLog({
283
+ type: "info",
284
+ title: "open_till",
285
+ metadata: {}
286
+ });
287
+ (_d = (_c2 = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _c2.postMessageToApp) == null ? void 0 : _d.call(_c2, {
288
+ module: "till",
289
+ key: "open_till"
290
+ });
291
+ }
275
292
  await (checkoutModule == null ? void 0 : checkoutModule.addPaymentItemAsync({
276
- amount: customAmount,
293
+ amount: finalAmount,
277
294
  /** 支付类型,跟支付列表上对应的支付方式保持一致 */
278
295
  code: method.code,
279
296
  /** 支付类型id,跟支付列表上对应的支付方式保持一致 */
@@ -327,6 +344,9 @@ var PaymentContent = (0, import_react.forwardRef)(
327
344
  );
328
345
  }
329
346
  });
347
+ checkoutModule.getCurrentOrderPaymentItemsAsync().then((items) => {
348
+ setPaymentItems(items);
349
+ });
330
350
  }
331
351
  }, [checkoutModule, orderInfo]);
332
352
  (0, import_react.useEffect)(() => {
@@ -388,6 +408,7 @@ var PaymentContent = (0, import_react.forwardRef)(
388
408
  CheckoutHooks.OnOrderSubmitStart,
389
409
  () => {
390
410
  var _a2;
411
+ setSyncingLock(true);
391
412
  (_a2 = Toast == null ? void 0 : Toast.loading) == null ? void 0 : _a2.call(Toast);
392
413
  }
393
414
  );
@@ -395,6 +416,7 @@ var PaymentContent = (0, import_react.forwardRef)(
395
416
  CheckoutHooks.OnOrderSubmitEnd,
396
417
  (res) => {
397
418
  var _a2, _b2;
419
+ setSyncingLock(false);
398
420
  if (res.success) {
399
421
  (_a2 = Toast == null ? void 0 : Toast.hide) == null ? void 0 : _a2.call(Toast);
400
422
  } else {
@@ -412,18 +434,33 @@ var PaymentContent = (0, import_react.forwardRef)(
412
434
  const orderPaymentAddedUnsubscribe = core.effects.on(
413
435
  CheckoutHooks.OnOrderPaymentAdded,
414
436
  async (data) => {
437
+ var _a2, _b2;
415
438
  console.log("orderPaymentAddedUnsubscribe>>>>", data);
439
+ const orderInfo2 = checkoutModule.getCurrentOrderInfo();
440
+ updateOrderInfo == null ? void 0 : updateOrderInfo(orderInfo2);
416
441
  const balanceDueAmount2 = checkoutModule.getBalanceDueAmount();
417
442
  if (Number(balanceDueAmount2) > 0) {
418
443
  const autoCloseConfig = (0, import_PaymentResultToastUtils.calculateAutoCloseConfig)(
419
444
  "partially_paid",
420
445
  false
421
446
  );
422
- const orderInfo2 = checkoutModule.getCurrentOrderInfo();
447
+ const paymentItems2 = await checkoutModule.getCurrentOrderPaymentItemsAsync();
448
+ let totalAmount2 = new import_decimal.default(orderInfo2.isDeposit ? orderInfo2.depositAmount : orderInfo2.totalAmount);
449
+ if (paymentItems2.length > 0 && paymentItems2.filter((n) => n.isSynced).some((item) => item.service_charge)) {
450
+ const serviceChargeTotal = paymentItems2.reduce((acc, item) => {
451
+ var _a3, _b3;
452
+ const chargeAmount = new import_decimal.default(((_a3 = item.service_charge) == null ? void 0 : _a3.amount) || 0);
453
+ const chargePercentage = new import_decimal.default(((_b3 = item.service_charge) == null ? void 0 : _b3.percentage) || 0);
454
+ const itemAmount = new import_decimal.default(item.amount || 0);
455
+ const itemServiceCharge = chargeAmount.add(chargePercentage.mul(itemAmount));
456
+ return acc.add(itemServiceCharge);
457
+ }, new import_decimal.default(0));
458
+ totalAmount2 = totalAmount2.add(serviceChargeTotal);
459
+ }
423
460
  await (0, import_PaymentResultToastUtils.displayPaymentResultToast)(
424
461
  {
425
462
  paymentStatus: "partially_paid",
426
- orderTotalAmount: orderInfo2.totalAmount,
463
+ orderTotalAmount: totalAmount2.toNumber(),
427
464
  gapAmount: balanceDueAmount2,
428
465
  failureReason: "",
429
466
  autoCloseConfig,
@@ -440,6 +477,19 @@ var PaymentContent = (0, import_react.forwardRef)(
440
477
  }
441
478
  );
442
479
  }
480
+ const paymentMethodName = data.paymentMethodName || data.name || "";
481
+ const isCashPayment = data.paymentMethodCode === "CASHMANUAL" || /现金|現金/i.test(paymentMethodName) || /cash/i.test(paymentMethodName);
482
+ if (isCashPayment) {
483
+ logger == null ? void 0 : logger.addLog({
484
+ type: "info",
485
+ title: "open_till",
486
+ metadata: {}
487
+ });
488
+ (_b2 = (_a2 = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _a2.postMessageToApp) == null ? void 0 : _b2.call(_a2, {
489
+ module: "till",
490
+ key: "open_till"
491
+ });
492
+ }
443
493
  }
444
494
  );
445
495
  return () => {
@@ -504,6 +554,12 @@ var PaymentContent = (0, import_react.forwardRef)(
504
554
  const result = await checkoutModule.manualSyncOrderAsync();
505
555
  await (showSuccessToast == null ? void 0 : showSuccessToast(result));
506
556
  if (result.success) {
557
+ const orderInfo2 = checkoutModule.getCurrentOrderInfo();
558
+ setCurrentEditOrderId == null ? void 0 : setCurrentEditOrderId(result.orderId);
559
+ if (result.is_deposit && Number(orderInfo2.depositAmount < orderInfo2.totalAmount)) {
560
+ updateOrderInfo == null ? void 0 : updateOrderInfo(orderInfo2);
561
+ return;
562
+ }
507
563
  const responseData = (_a2 = result.response) == null ? void 0 : _a2.data;
508
564
  console.log("print_order_onOrderSynced>>>>", result);
509
565
  try {
@@ -598,6 +654,9 @@ var PaymentContent = (0, import_react.forwardRef)(
598
654
  return 0;
599
655
  }
600
656
  }, [state, showPriceAdjustModal]);
657
+ const currentTotalPriceAfterDiscount = (0, import_react.useMemo)(() => {
658
+ return new import_decimal.default(currentTotalPrice).minus(state.shop_discount || 0).toNumber();
659
+ }, [state.shop_discount, currentTotalPrice]);
601
660
  const handleSelectWalletChange = (0, import_ahooks.useMemoizedFn)(
602
661
  async (select) => {
603
662
  if (walletPassDetail.isShow) {
@@ -635,16 +694,10 @@ var PaymentContent = (0, import_react.forwardRef)(
635
694
  }
636
695
  }
637
696
  );
638
- const handlePriceAdjustConfirm = async (newPrice) => {
697
+ const handlePriceAdjustConfirm = async (discountAmount) => {
639
698
  try {
640
699
  if (checkoutModule && (orderInfo == null ? void 0 : orderInfo.totalAmount)) {
641
700
  if (dispatch) {
642
- const { ScheduleModule } = pisellosAllModule;
643
- const { productAmount } = (0, import_amount.getSumTotal)(state, {
644
- isEdit: true,
645
- ScheduleModule
646
- });
647
- const discountAmount = Math.max(0, productAmount - newPrice);
648
701
  dispatch({
649
702
  type: "setState",
650
703
  payload: {
@@ -817,7 +870,7 @@ var PaymentContent = (0, import_react.forwardRef)(
817
870
  import_WalletPassModule.default,
818
871
  {
819
872
  clientId: (_b = (_a = state == null ? void 0 : state.client) == null ? void 0 : _a.value) == null ? void 0 : _b.id,
820
- customAmount,
873
+ customAmount: balanceDueAmount,
821
874
  orderInfo: orderInfo || void 0,
822
875
  ref: walletPassRef,
823
876
  paymentItems,
@@ -860,8 +913,10 @@ var PaymentContent = (0, import_react.forwardRef)(
860
913
  /* @__PURE__ */ import_react.default.createElement(
861
914
  import_CashPaymentModule.default,
862
915
  {
916
+ disabled: isOrderFree,
863
917
  isModalOpen,
864
- amountSymbol: state.amountSymbol,
918
+ syncingLock,
919
+ amountSymbol: getData("shop_symbol"),
865
920
  orderInfo: orderInfo || void 0,
866
921
  onPaymentComplete: handleAddCashPayment,
867
922
  amountButtons: recommendAmounts,
@@ -935,42 +990,22 @@ var PaymentContent = (0, import_react.forwardRef)(
935
990
  sendPaymentLink: handleSendCustomerPaymentLink
936
991
  }
937
992
  ),
938
- showPriceAdjustModal && (0, import_react_dom.createPortal)(
939
- /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-price-adjust-overlay" }, /* @__PURE__ */ import_react.default.createElement(
940
- "button",
941
- {
942
- className: "pisell-price-adjust-backdrop",
943
- style: {
944
- cursor: "pointer",
945
- border: "none",
946
- background: "transparent",
947
- width: "100%",
948
- height: "100%",
949
- position: "absolute",
950
- top: 0,
951
- left: 0
952
- },
953
- onClick: () => setShowPriceAdjustModal(false),
954
- "aria-label": import_utils.locales.getText(
955
- "pisell2.checkout.modal.close-price-adjustment"
956
- ) || "Close price adjustment modal"
957
- }
958
- ), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-price-adjust-container" }, /* @__PURE__ */ import_react.default.createElement(
959
- import_materials.PisellAdjustPrice,
960
- {
961
- selectType: "dark",
962
- originValue: currentTotalPrice,
963
- value: currentTotalPrice,
964
- onChange: handlePriceAdjustConfirm,
965
- resetText: import_utils.locales.getText(
966
- "pisell2.checkout.modal.reset-price-adjustment"
967
- ),
968
- doneText: import_utils.locales.getText(
969
- "pisell2.checkout.modal.done-price-adjustment"
970
- )
971
- }
972
- ))),
973
- document.body
993
+ /* @__PURE__ */ import_react.default.createElement(
994
+ import_priceKeyboard.DiscountKeyboard,
995
+ {
996
+ containerProps: {
997
+ renderType: "modal",
998
+ open: showPriceAdjustModal,
999
+ onCancel: () => setShowPriceAdjustModal(false)
1000
+ },
1001
+ selectType: "dark",
1002
+ originalValue: currentTotalPrice,
1003
+ defaultValue: currentTotalPriceAfterDiscount,
1004
+ resetText: import_utils.locales.getText(
1005
+ "pisell2.checkout.modal.reset-price-adjustment"
1006
+ ),
1007
+ onEnter: handlePriceAdjustConfirm
1008
+ }
974
1009
  ),
975
1010
  /* @__PURE__ */ import_react.default.createElement(
976
1011
  import_SavePayLaterHandler.default,
@@ -990,7 +1025,9 @@ var PaymentModal = ({
990
1025
  callback,
991
1026
  onClose,
992
1027
  dispatch,
993
- state
1028
+ state,
1029
+ setEditCartMode,
1030
+ editOrderId
994
1031
  }) => {
995
1032
  var _a, _b, _c, _d, _e, _f, _g, _h;
996
1033
  const context = (0, import_useEngineContext.default)();
@@ -1004,6 +1041,7 @@ var PaymentModal = ({
1004
1041
  const [actualShowCashPayment, setActualShowCashPayment] = (0, import_react.useState)(true);
1005
1042
  const [windowHeight, setWindowHeight] = (0, import_react.useState)(0);
1006
1043
  const [showRetryModal, setShowRetryModal] = (0, import_react.useState)(false);
1044
+ const [currentEditOrderId, setCurrentEditOrderId] = (0, import_react.useState)(editOrderId || 0);
1007
1045
  const Toast = (0, import_materials.useToast)();
1008
1046
  const handleRetry = async () => {
1009
1047
  const checkoutModule = pisellos == null ? void 0 : pisellos.getModule("checkout");
@@ -1059,7 +1097,7 @@ var PaymentModal = ({
1059
1097
  const matrix = new DOMMatrix(bodyTransform);
1060
1098
  scaleY = matrix.d;
1061
1099
  }
1062
- return `${Math.floor((windowHeight * 0.9 - 72) / scaleY)}px`;
1100
+ return `${Math.floor(windowHeight * 0.9 / scaleY)}px`;
1063
1101
  }, [windowHeight]);
1064
1102
  const moduleConfig = {
1065
1103
  showCashPayment: true
@@ -1297,6 +1335,21 @@ var PaymentModal = ({
1297
1335
  checkout.cancelCurrentOrderAsync();
1298
1336
  onClose == null ? void 0 : onClose(reset || false);
1299
1337
  };
1338
+ const handleSetEditCartMode = async (closeModal = false) => {
1339
+ const checkout = pisellos.getModule("checkout");
1340
+ const orderId = checkout.getCurrentOrderId();
1341
+ const paymentData = await checkout.getCurrentOrderPaymentItemsAsync();
1342
+ const paidAmount = paymentData.reduce((total, item) => {
1343
+ return total + Number(item.amount);
1344
+ }, 0);
1345
+ const paidAmountWithoutSurcharge = paymentData.reduce((total, item) => {
1346
+ var _a2;
1347
+ return total + Number(item.amount) - Number(((_a2 = item.service_charge) == null ? void 0 : _a2.amount) || 0);
1348
+ }, 0);
1349
+ console.log("paidAmount>>>>", paidAmount, paidAmountWithoutSurcharge);
1350
+ checkout.updateVoucherPaymentItemsAsync([]);
1351
+ setEditCartMode == null ? void 0 : setEditCartMode(orderId, { paidAmount, paidAmountWithoutSurcharge }, closeModal);
1352
+ };
1300
1353
  const CustomHeader = () => /* @__PURE__ */ import_react.default.createElement("div", { className: "payment-modal-custom-header" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "header__left" }, /* @__PURE__ */ import_react.default.createElement(
1301
1354
  import_antd.Button,
1302
1355
  {
@@ -1306,7 +1359,7 @@ var PaymentModal = ({
1306
1359
  onClick: () => {
1307
1360
  const checkout = pisellos.getModule("checkout");
1308
1361
  if (checkout.isCurrentOrderSynced()) {
1309
- handlePaymentCancel(true);
1362
+ handleSetEditCartMode(true);
1310
1363
  } else {
1311
1364
  handlePaymentCancel(false);
1312
1365
  }
@@ -1332,7 +1385,7 @@ var PaymentModal = ({
1332
1385
  const unsubscribeRef = (0, import_react.useRef)(void 0);
1333
1386
  (0, import_react.useEffect)(() => {
1334
1387
  const initCheckoutData = async () => {
1335
- var _a2, _b2;
1388
+ var _a2, _b2, _c2, _d2;
1336
1389
  try {
1337
1390
  const checkout = pisellos == null ? void 0 : pisellos.getModule("checkout");
1338
1391
  if (checkout && data && !isLocalOrderCreated.current) {
@@ -1351,13 +1404,24 @@ var PaymentModal = ({
1351
1404
  shop_wallet_pass_id
1352
1405
  });
1353
1406
  const newData = (0, import_lodash.cloneDeep)(data);
1354
- await checkout.createLocalOrderAsync({
1355
- orderData: newData.order_info,
1356
- cartSummary: (_a2 = newData.subtotal_info) == null ? void 0 : _a2.subTotalList,
1357
- autoPayment: true,
1358
- totalInfo: newData.subtotal_info
1359
- });
1407
+ if (editOrderId || currentEditOrderId) {
1408
+ await checkout.updateLocalOrderAsync({
1409
+ orderId: editOrderId || currentEditOrderId,
1410
+ orderData: newData.order_info,
1411
+ cartSummary: (_a2 = newData.subtotal_info) == null ? void 0 : _a2.subTotalList,
1412
+ autoPayment: true,
1413
+ totalInfo: newData.subtotal_info
1414
+ });
1415
+ } else {
1416
+ await checkout.createLocalOrderAsync({
1417
+ orderData: newData.order_info,
1418
+ cartSummary: (_b2 = newData.subtotal_info) == null ? void 0 : _b2.subTotalList,
1419
+ autoPayment: true,
1420
+ totalInfo: newData.subtotal_info
1421
+ });
1422
+ }
1360
1423
  const orderInfo2 = checkout.getCurrentOrderInfo();
1424
+ console.log(orderInfo2);
1361
1425
  if (orderInfo2 && orderInfo2.totalAmount) {
1362
1426
  setTotalAmount(orderInfo2.totalAmount);
1363
1427
  }
@@ -1374,7 +1438,9 @@ var PaymentModal = ({
1374
1438
  unsubscribeRef.current = checkout.core.effects.on(
1375
1439
  "checkout:onOrderSynced",
1376
1440
  async (data2) => {
1377
- var _a3, _b3, _c2, _d2, _e2;
1441
+ var _a3, _b3, _c3, _d3, _e2;
1442
+ const currentOrderId = checkout.getCurrentOrderId();
1443
+ setCurrentEditOrderId(currentOrderId);
1378
1444
  const responseData = (_a3 = data2.response) == null ? void 0 : _a3.data;
1379
1445
  const paymentStatus = responseData == null ? void 0 : responseData.payment_status;
1380
1446
  if (data2.isManual) return;
@@ -1385,7 +1451,7 @@ var PaymentModal = ({
1385
1451
  const orderTotalAmount = Number((responseData == null ? void 0 : responseData.total_amount) || 0);
1386
1452
  const gapAmount = Number((responseData == null ? void 0 : responseData.amount_gap) || 0);
1387
1453
  const currentChangeGivenAmount = Number(
1388
- ((_b3 = responseData == null ? void 0 : responseData.payment_info) == null ? void 0 : _b3.current_change_given_amount) || 0
1454
+ (_b3 = responseData == null ? void 0 : responseData.payment_info) == null ? void 0 : _b3.current_change_given_amount
1389
1455
  );
1390
1456
  const failureReason = responseData == null ? void 0 : responseData.failure_reason;
1391
1457
  if (paymentStatus) {
@@ -1404,7 +1470,7 @@ var PaymentModal = ({
1404
1470
  data: {
1405
1471
  order_id: responseData.order_id,
1406
1472
  machine_code_print_info: responseData == null ? void 0 : responseData.machine_code_print_info,
1407
- small_ticket_data: (_c2 = responseData == null ? void 0 : responseData.payment_info) == null ? void 0 : _c2.small_ticket_data
1473
+ small_ticket_data: (_c3 = responseData == null ? void 0 : responseData.payment_info) == null ? void 0 : _c3.small_ticket_data
1408
1474
  }
1409
1475
  };
1410
1476
  console.log("print_order_onOrderSynced_params>>>>", params);
@@ -1440,14 +1506,15 @@ var PaymentModal = ({
1440
1506
  paymentStatus,
1441
1507
  !!currentChangeGivenAmount
1442
1508
  );
1443
- const enabledAutoPrint = await ((_e2 = (_d2 = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _d2.asyncDataManager) == null ? void 0 : _e2.call(_d2, {
1509
+ const enabledAutoPrint = await ((_e2 = (_d3 = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _d3.asyncDataManager) == null ? void 0 : _e2.call(_d3, {
1444
1510
  module: "get",
1445
1511
  key: "auto_print_receipt"
1446
1512
  }));
1513
+ const orderInfo3 = checkout.getCurrentOrderInfo();
1447
1514
  await (0, import_PaymentResultToastUtils.displayPaymentResultToast)(
1448
1515
  {
1449
1516
  paymentStatus,
1450
- orderTotalAmount,
1517
+ orderTotalAmount: orderInfo3.isDeposit ? orderInfo3.depositAmount : orderTotalAmount,
1451
1518
  gapAmount: paymentStatus === "partially_paid" ? gapAmount : currentChangeGivenAmount,
1452
1519
  failureReason,
1453
1520
  autoCloseConfig,
@@ -1479,12 +1546,22 @@ var PaymentModal = ({
1479
1546
  );
1480
1547
  isLocalOrderCreated.current = false;
1481
1548
  await checkout.cancelCurrentOrderAsync();
1482
- await checkout.createLocalOrderAsync({
1483
- orderData: data == null ? void 0 : data.order_info,
1484
- cartSummary: (_b2 = data == null ? void 0 : data.subtotal_info) == null ? void 0 : _b2.subTotalList,
1485
- autoPayment: true,
1486
- totalInfo: data == null ? void 0 : data.subtotal_info
1487
- });
1549
+ if (editOrderId || currentEditOrderId) {
1550
+ await checkout.updateLocalOrderAsync({
1551
+ orderId: editOrderId || currentEditOrderId,
1552
+ orderData: data == null ? void 0 : data.order_info,
1553
+ cartSummary: (_c2 = data == null ? void 0 : data.subtotal_info) == null ? void 0 : _c2.subTotalList,
1554
+ autoPayment: true,
1555
+ totalInfo: data == null ? void 0 : data.subtotal_info
1556
+ });
1557
+ } else {
1558
+ await checkout.createLocalOrderAsync({
1559
+ orderData: data == null ? void 0 : data.order_info,
1560
+ cartSummary: (_d2 = data == null ? void 0 : data.subtotal_info) == null ? void 0 : _d2.subTotalList,
1561
+ autoPayment: true,
1562
+ totalInfo: data == null ? void 0 : data.subtotal_info
1563
+ });
1564
+ }
1488
1565
  const orderInfo2 = checkout.getCurrentOrderInfo();
1489
1566
  if (orderInfo2 && orderInfo2.totalAmount) {
1490
1567
  setTotalAmount(orderInfo2.totalAmount);
@@ -1860,7 +1937,9 @@ var PaymentModal = ({
1860
1937
  dynamicMaxHeight,
1861
1938
  onOrderSyncFailed: () => setShowRetryModal(true),
1862
1939
  generateActionButtons,
1863
- paymentResultToastConfig
1940
+ paymentResultToastConfig,
1941
+ updateOrderInfo: (orderInfo2) => setOrderInfo(orderInfo2),
1942
+ setCurrentEditOrderId: (orderId) => setCurrentEditOrderId(orderId)
1864
1943
  }
1865
1944
  )
1866
1945
  ), noteModalOpen && (0, import_react_dom.createPortal)(
@@ -1,5 +1,5 @@
1
1
  .additional-module {
2
- padding-bottom: 16px; // 底部间距
2
+ // padding-bottom: 16px; // 底部间距
3
3
 
4
4
  // 标题样式
5
5
  &-title {