@pisell/private-materials 3.0.186 → 3.0.188

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 (101) 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 +3 -3
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +10 -10
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +5 -5
  11. package/es/components/booking/addons/model.d.ts +1 -2
  12. package/es/components/booking/forms/model.d.ts +1 -2
  13. package/es/components/booking/notes/index.d.ts +1 -1
  14. package/es/components/booking/notes/model.d.ts +1 -2
  15. package/es/components/booking/payments/model.d.ts +1 -2
  16. package/es/components/eftposPay/amount.d.ts +4 -3
  17. package/es/components/eftposPay/amount.js +5 -4
  18. package/es/components/eftposPay/component/fail/failCustom.d.ts +1 -1
  19. package/es/components/eftposPay/component/fail/failCustom.js +14 -6
  20. package/es/components/eftposPay/component/fail/index.d.ts +1 -1
  21. package/es/components/eftposPay/component/fail/index.js +14 -5
  22. package/es/components/eftposPay/component/fail/unknow.d.ts +1 -1
  23. package/es/components/eftposPay/component/fail/unknow.js +17 -7
  24. package/es/components/eftposPay/const.d.ts +8 -2
  25. package/es/components/eftposPay/const.js +5 -0
  26. package/es/components/eftposPay/device.d.ts +4 -3
  27. package/es/components/eftposPay/device.js +5 -4
  28. package/es/components/eftposPay/hooks.d.ts +4 -3
  29. package/es/components/eftposPay/hooks.js +31 -6
  30. package/es/components/eftposPay/index.js +57 -23
  31. package/es/components/eftposPay/index.less +1 -0
  32. package/es/components/eftposPay/locales.d.ts +6 -0
  33. package/es/components/eftposPay/locales.js +6 -0
  34. package/es/components/eftposPay/pay.d.ts +3 -2
  35. package/es/components/eftposPay/pay.js +8 -7
  36. package/es/components/eftposPay/payo/config.d.ts +3 -1
  37. package/es/components/eftposPay/payo/config.js +11 -9
  38. package/es/components/eftposPay/payo/const.js +4 -2
  39. package/es/components/eftposPay/payo/index.js +3 -1
  40. package/es/components/eftposPay/store/index.d.ts +17 -2
  41. package/es/components/eftposPay/store/index.js +20 -0
  42. package/es/components/eftposPay/tyro/const.js +4 -2
  43. package/es/components/eftposPay/tyro/index.js +70 -20
  44. package/es/components/eftposPay/windcave/const.js +4 -2
  45. package/es/components/eftposPay/windcave/helper.js +19 -28
  46. package/es/components/eftposPay/windcave/windcave.js +2 -1
  47. package/es/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +10 -4
  48. package/es/components/pisellSelectCustomerModal/RightPanel/index.js +5 -3
  49. package/es/components/pisellSelectCustomerModal/RightPanel/index.less +7 -0
  50. package/es/components/pisellSelectCustomerModal/index.js +7 -1
  51. package/es/components/pisellSelectCustomerModal/index.less +6 -0
  52. package/es/components/pisellSelectCustomerModal/locales.d.ts +6 -0
  53. package/es/components/pisellSelectCustomerModal/locales.js +9 -3
  54. package/es/components/schedules/index.d.ts +1 -1
  55. package/es/components/schedules/model.d.ts +1 -2
  56. package/lib/components/booking/addons/model.d.ts +1 -2
  57. package/lib/components/booking/forms/model.d.ts +1 -2
  58. package/lib/components/booking/notes/index.d.ts +1 -1
  59. package/lib/components/booking/notes/model.d.ts +1 -2
  60. package/lib/components/booking/payments/model.d.ts +1 -2
  61. package/lib/components/eftposPay/amount.d.ts +4 -3
  62. package/lib/components/eftposPay/amount.js +4 -3
  63. package/lib/components/eftposPay/component/fail/failCustom.d.ts +1 -1
  64. package/lib/components/eftposPay/component/fail/failCustom.js +16 -4
  65. package/lib/components/eftposPay/component/fail/index.d.ts +1 -1
  66. package/lib/components/eftposPay/component/fail/index.js +17 -4
  67. package/lib/components/eftposPay/component/fail/unknow.d.ts +1 -1
  68. package/lib/components/eftposPay/component/fail/unknow.js +15 -3
  69. package/lib/components/eftposPay/const.d.ts +8 -2
  70. package/lib/components/eftposPay/const.js +7 -0
  71. package/lib/components/eftposPay/device.d.ts +4 -3
  72. package/lib/components/eftposPay/device.js +5 -4
  73. package/lib/components/eftposPay/hooks.d.ts +4 -3
  74. package/lib/components/eftposPay/hooks.js +30 -8
  75. package/lib/components/eftposPay/index.js +46 -18
  76. package/lib/components/eftposPay/index.less +1 -0
  77. package/lib/components/eftposPay/locales.d.ts +6 -0
  78. package/lib/components/eftposPay/locales.js +6 -0
  79. package/lib/components/eftposPay/pay.d.ts +3 -2
  80. package/lib/components/eftposPay/pay.js +7 -6
  81. package/lib/components/eftposPay/payo/config.d.ts +3 -1
  82. package/lib/components/eftposPay/payo/config.js +8 -8
  83. package/lib/components/eftposPay/payo/const.js +2 -0
  84. package/lib/components/eftposPay/payo/index.js +1 -1
  85. package/lib/components/eftposPay/store/index.d.ts +17 -2
  86. package/lib/components/eftposPay/store/index.js +14 -0
  87. package/lib/components/eftposPay/tyro/const.js +2 -0
  88. package/lib/components/eftposPay/tyro/index.js +63 -6
  89. package/lib/components/eftposPay/windcave/const.js +2 -0
  90. package/lib/components/eftposPay/windcave/helper.js +23 -28
  91. package/lib/components/eftposPay/windcave/windcave.js +2 -1
  92. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +3 -0
  93. package/lib/components/pisellSelectCustomerModal/RightPanel/index.js +5 -3
  94. package/lib/components/pisellSelectCustomerModal/RightPanel/index.less +7 -0
  95. package/lib/components/pisellSelectCustomerModal/index.js +7 -0
  96. package/lib/components/pisellSelectCustomerModal/index.less +6 -0
  97. package/lib/components/pisellSelectCustomerModal/locales.d.ts +6 -0
  98. package/lib/components/pisellSelectCustomerModal/locales.js +9 -3
  99. package/lib/components/schedules/index.d.ts +1 -1
  100. package/lib/components/schedules/model.d.ts +1 -2
  101. package/package.json +2 -2
@@ -61,6 +61,7 @@ var locales_default = {
61
61
  "page.eftpos-pay.text.manual.diff": "If it doesn't match, please enter the actual transaction amount in the input box below.",
62
62
  "page.eftpos-pay.text.manual.tip": "Amount tendered (incl. surcharge)",
63
63
  "page.eftpos-pay.text.manual.cancel": "Cancel current transaction",
64
+ "page.eftpos-pay.text.manual.print_receipt": "Print Receipt",
64
65
  "page.eftpos-pay.text.modify.payment.info": (mode) => mode === "pay" || mode === "fullPay" ? "Modify payment info" : "Modify refund information",
65
66
  "page.eftpos-pay.text.successful": (mode) => `${mode === "pay" || mode === "fullPay" ? "Payment" : "Refund"} successful`,
66
67
  "page.eftpos-pay.text.failed": (mode) => `${mode === "pay" || mode === "fullPay" ? "Payment" : "Refund"} failed`,
@@ -110,6 +111,7 @@ var locales_default = {
110
111
  "page.eftpos-pay.text.transaction.eftpos.fail.device": "2. Check if the device is turned on.",
111
112
  "page.eftpos-pay.text.transaction.eftpos.fail.network": "3. Check the device network.",
112
113
  "page.eftpos-pay.text.transaction.eftpos.fail.if": (mode) => mode === "pay" || mode === "fullPay" ? "If you have confirmed the payment status of this order, please click on Manual marking." : "If you have confirmed the refund status of this order, please click on Manual Marking.",
114
+ "page.eftpos-pay.text.transaction.eftpos.fail.other": "Payment issue detected. Please print the receipt and contact staff for assistance.",
113
115
  "page.eftpos-pay.text.application": "Waiting for customer to select application",
114
116
  "page.eftpos-pay.text.approved": "Approved",
115
117
  "page.eftpos-pay.text.device.no.title": "No devices added yet. Please add devices to proceed.",
@@ -168,6 +170,7 @@ var locales_default = {
168
170
  "page.eftpos-pay.text.manual.diff": "如不一致请在下方输入框内输入真实的交易金额。",
169
171
  "page.eftpos-pay.text.manual.tip": "实付金额(含附加费)",
170
172
  "page.eftpos-pay.text.manual.cancel": "取消当前交易",
173
+ "page.eftpos-pay.text.manual.print_receipt": "打印收据",
171
174
  "page.eftpos-pay.text.modify.payment.info": (mode) => mode === "pay" || mode === "fullPay" ? "修改支付信息" : "修改退款信息",
172
175
  "page.eftpos-pay.text.successful": (mode) => `${mode === "pay" || mode === "fullPay" ? "支付" : "退款"}成功`,
173
176
  "page.eftpos-pay.text.failed": (mode) => `${mode === "pay" || mode === "fullPay" ? "支付" : "退款"}失败`,
@@ -224,6 +227,7 @@ var locales_default = {
224
227
  "page.eftpos-pay.text.transaction.eftpos.fail.device": "2. 检查设备是否开机",
225
228
  "page.eftpos-pay.text.transaction.eftpos.fail.network": "3. 检查设备网络",
226
229
  "page.eftpos-pay.text.transaction.eftpos.fail.if": (mode) => mode === "pay" || mode === "fullPay" ? "如果您已确认此交易的付款状态,请点击手动标记" : "如果您已确认此订单的退款状态,请点击手动标记。",
230
+ "page.eftpos-pay.text.transaction.eftpos.fail.other": "刷卡机支付出现问题,请打印收据后联系店员处理。",
227
231
  "page.eftpos-pay.text.application": "等待客户选择应用",
228
232
  "page.eftpos-pay.text.approved": "已接受",
229
233
  "page.eftpos-pay.text.device.no.title": "您还没有添加任何设备。请添加设备后使用",
@@ -428,6 +432,7 @@ var locales_default = {
428
432
  "page.eftpos-pay.text.manual.diff": "如不一致請在下方輸入框內輸入真實的交易金額。",
429
433
  "page.eftpos-pay.text.manual.tip": "實付金額(含附加費)",
430
434
  "page.eftpos-pay.text.manual.cancel": "取消當前交易",
435
+ "page.eftpos-pay.text.manual.print_receipt": "打印收據",
431
436
  "page.eftpos-pay.text.modify.payment.info": (mode) => mode === "pay" || mode === "fullPay" ? "修改支付信息" : "修改退款信息",
432
437
  "page.eftpos-pay.text.successful": (mode) => `${mode === "pay" || mode === "fullPay" ? "支付" : "退款"}成功`,
433
438
  "page.eftpos-pay.text.failed": (mode) => `${mode === "pay" || mode === "fullPay" ? "支付" : "退款"}失敗`,
@@ -484,6 +489,7 @@ var locales_default = {
484
489
  "page.eftpos-pay.text.transaction.eftpos.fail.device": "2. 檢查設備是否開機",
485
490
  "page.eftpos-pay.text.transaction.eftpos.fail.network": "3. 檢查設備網絡",
486
491
  "page.eftpos-pay.text.transaction.eftpos.fail.if": (mode) => mode === "pay" || mode === "fullPay" ? "如果您已確認此交易的付款狀態,請點擊手動標記" : "如果您已確認此訂單的退款狀態,請點擊手動標記。",
492
+ "page.eftpos-pay.text.transaction.eftpos.fail.other": "刷卡機支付出現問題,請打印收據後聯繫店員處理。",
487
493
  "page.eftpos-pay.text.application": "等待客户選擇應用",
488
494
  "page.eftpos-pay.text.approved": "已接受",
489
495
  "page.eftpos-pay.text.device.no.title": "您還沒有添加任何設備。請添加設備後使用",
@@ -7,14 +7,15 @@ import './index.less';
7
7
  * @Author: hongbing.wang
8
8
  * @Date: 2024-08-20 14:59
9
9
  */
10
- declare const Pay: ({ api, onChange: onChangeStatus, className, terminal, net, isIpad, tyroUrl, tyroVersion, formatAmount, }: PayProps & {
10
+ declare const Pay: ({ api, onChange: onChangeStatus, className, terminal, net, isMobile, tyroUrl, tyroVersion, formatAmount, client }: PayProps & {
11
11
  terminal: {
12
12
  network: boolean;
13
13
  };
14
14
  net: boolean;
15
- isIpad: boolean;
15
+ isMobile: boolean;
16
16
  tyroUrl?: string | undefined;
17
17
  tyroVersion?: string | undefined;
18
18
  formatAmount(amount: number | string, precision: number, symbol: string): string;
19
+ client: string;
19
20
  }) => React.JSX.Element;
20
21
  export default Pay;
@@ -60,10 +60,11 @@ var Pay = ({
60
60
  className,
61
61
  terminal,
62
62
  net,
63
- isIpad,
63
+ isMobile,
64
64
  tyroUrl,
65
65
  tyroVersion,
66
- formatAmount = (number, precision, symbol) => `${symbol}${number}`
66
+ formatAmount = (number, precision, symbol) => `${symbol}${number}`,
67
+ client
67
68
  }) => {
68
69
  const data = (0, import_store.useContextData)();
69
70
  const dataRef = (0, import_react.useRef)(data);
@@ -84,11 +85,11 @@ var Pay = ({
84
85
  }, [data]);
85
86
  const Comm = Mapping[data.component];
86
87
  const onChange = (0, import_react.useCallback)(
87
- (status, params) => {
88
+ (status, params, other) => {
88
89
  if (status === import_const.StatusEnum.Success || status === import_const.StatusEnum.Fail) {
89
90
  dispatch((0, import_store.updateStatus)(status));
90
91
  }
91
- onChangeStatus(status, params);
92
+ onChangeStatus(status, params, other);
92
93
  },
93
94
  [dispatch, onChangeStatus]
94
95
  );
@@ -158,7 +159,7 @@ var Pay = ({
158
159
  subTitle: data.subTitle
159
160
  }
160
161
  ),
161
- data.eftpos === "payo" ? /* @__PURE__ */ import_react.default.createElement(import_manufacturer.Payo, { api, onChange }, data.warn && data.status !== import_const.StatusEnum.Success ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__eft-pay-step-item pisell-lowcode__eft-pay-step-item-warn" }, data.warn) : null, data.status === import_const.StatusEnum.Success ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__eft-pay-step-item pisell-lowcode__eft-pay-step-item-tip" }, import_utils.locales.getText("page.eftpos-pay.text.transaction.end")) : null) : null,
162
+ data.eftpos === "payo" ? /* @__PURE__ */ import_react.default.createElement(import_manufacturer.Payo, { api, onChange }, data.warn && data.status !== import_const.StatusEnum.Success && client === import_const.ClientEnum.Merchant ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__eft-pay-step-item pisell-lowcode__eft-pay-step-item-warn" }, data.warn) : null, data.status === import_const.StatusEnum.Success ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__eft-pay-step-item pisell-lowcode__eft-pay-step-item-tip" }, import_utils.locales.getText("page.eftpos-pay.text.transaction.end")) : null) : null,
162
163
  data.eftpos === "tyro" ? /* @__PURE__ */ import_react.default.createElement(import_manufacturer.Tyro, { api, onChange, key: data.key, url: tyroUrl, version: tyroVersion }) : null,
163
164
  data.eftpos === "windcave" ? /* @__PURE__ */ import_react.default.createElement(
164
165
  import_manufacturer.Windcave,
@@ -175,7 +176,7 @@ var Pay = ({
175
176
  onChange,
176
177
  api,
177
178
  className,
178
- isIpad,
179
+ isMobile,
179
180
  formatAmount
180
181
  }
181
182
  ) : null);
@@ -8,4 +8,6 @@ export declare const POS: ({ api, onChange, }: {
8
8
  [keys: string]: unknown;
9
9
  } | undefined) => void;
10
10
  }) => React.JSX.Element;
11
- export declare const Action: () => React.JSX.Element;
11
+ export declare const Action: ({ onChange }: {
12
+ onChange: any;
13
+ }) => React.JSX.Element;
@@ -60,7 +60,7 @@ var POS = ({
60
60
  } = (0, import_hooks.useStoreRef)();
61
61
  const dispatch = (0, import_store.useDispatch)();
62
62
  const { key, ...props } = steps[0];
63
- const fail = (0, import_hooks.useFail)(0, true);
63
+ const fail = (0, import_hooks.useFail)(0);
64
64
  const failRef = (0, import_react.useRef)(fail);
65
65
  const controllerRef = (0, import_react.useRef)();
66
66
  const clearRef = (0, import_react.useRef)();
@@ -110,13 +110,13 @@ var POS = ({
110
110
  success(res);
111
111
  return;
112
112
  }
113
- failRef.current(res);
113
+ failRef.current(res, true);
114
114
  },
115
115
  (res) => {
116
116
  if (unloadRef.current || !netRef.current) {
117
117
  return;
118
118
  }
119
- failRef.current(res);
119
+ failRef.current(res, true);
120
120
  }
121
121
  );
122
122
  };
@@ -183,7 +183,7 @@ var POS = ({
183
183
  checkApi();
184
184
  return;
185
185
  }
186
- failRef.current(err);
186
+ failRef.current(err, true);
187
187
  });
188
188
  }, [api, check, dispatch, onChange]);
189
189
  (0, import_react.useEffect)(
@@ -199,9 +199,9 @@ var POS = ({
199
199
  );
200
200
  return /* @__PURE__ */ import_react.default.createElement(import_step.default, { ...props });
201
201
  };
202
- var Action = () => {
202
+ var Action = ({ onChange }) => {
203
203
  const dispatch = (0, import_store.useDispatch)();
204
- const { mode } = (0, import_store.useContextData)();
204
+ const { mode, client } = (0, import_store.useContextData)();
205
205
  const onManually = () => {
206
206
  dispatch(
207
207
  (0, import_store.updateState)({
@@ -213,7 +213,7 @@ var Action = () => {
213
213
  );
214
214
  dispatch((0, import_store.updateComponent)("Manual", true));
215
215
  };
216
- return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__eft-pay-step-item-btns" }, /* @__PURE__ */ import_react.default.createElement(
216
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__eft-pay-step-item-btns" }, client === import_const.ClientEnum.Merchant ? /* @__PURE__ */ import_react.default.createElement(
217
217
  import_antd.Button,
218
218
  {
219
219
  block: true,
@@ -221,7 +221,7 @@ var Action = () => {
221
221
  onClick: onManually
222
222
  },
223
223
  import_utils.locales.getText("page.eftpos-pay.text.manual.marking")
224
- ));
224
+ ) : null);
225
225
  };
226
226
  // Annotate the CommonJS export names for ESM import in node:
227
227
  0 && (module.exports = {
@@ -50,6 +50,7 @@ var const_default = (params) => {
50
50
  pay,
51
51
  device,
52
52
  net,
53
+ client,
53
54
  ...other
54
55
  } = params || {
55
56
  mode: import_const.ModeEnum.Pay
@@ -70,6 +71,7 @@ var const_default = (params) => {
70
71
  status: import_const.StatusEnum.Loading,
71
72
  steps: getStep(mode),
72
73
  render: true,
74
+ client: client !== "undefined" ? client : import_const.ClientEnum.Merchant,
73
75
  custom: other || {},
74
76
  ...typeof net !== "undefined" ? { net } : {},
75
77
  ...typeof number !== "undefined" ? { number } : {},
@@ -59,5 +59,5 @@ var payo_default = ({
59
59
  }
60
60
  );
61
61
  }
62
- }), children), data.status !== import_const.StatusEnum.Success ? /* @__PURE__ */ import_react.default.createElement(import_config.Action, null) : null);
62
+ }), children), data.status !== import_const.StatusEnum.Success ? /* @__PURE__ */ import_react.default.createElement(import_config.Action, { onChange }) : null);
63
63
  };
@@ -1,5 +1,5 @@
1
1
  import React, { ReactNode } from 'react';
2
- import { DeviceStatusType, StatusType, ModeType, RouteType } from '../const';
2
+ import { DeviceStatusType, StatusType, ModeType, RouteType, ClientEnum } from '../const';
3
3
  import { ThunkDispatch } from './useThunkReducer';
4
4
  export declare enum EActionTypes {
5
5
  UPDATE_INIT = "UPDATE_INIT",
@@ -16,7 +16,8 @@ export declare enum EActionTypes {
16
16
  UPDATE_STEP_CURRENT_ITEM_CUSTOM = "UPDATE_STEP_CURRENT_ITEM_CUSTOM",
17
17
  UPDATE_STEP_ITEM = "UPDATE_STEP_ITEM",
18
18
  BACKUP_PRODUCTION = "BACKUP_PRODUCTION",
19
- BACKUP_FREE = "BACKUP_FREE"
19
+ BACKUP_FREE = "BACKUP_FREE",
20
+ UPDATE_CLIENT = "UPDATE_CLIENT"
20
21
  }
21
22
  export declare type State = {
22
23
  /** 支付名称 */
@@ -89,6 +90,7 @@ export declare type State = {
89
90
  money?: number;
90
91
  };
91
92
  backup?: Omit<State, 'backup'>;
93
+ client: ClientEnum;
92
94
  };
93
95
  export declare type Action = {
94
96
  type: EActionTypes;
@@ -258,6 +260,18 @@ export declare const updateCurrentStemItem: (payload: any) => {
258
260
  type: EActionTypes;
259
261
  payload: any;
260
262
  };
263
+ /**
264
+ * @title: 更新当前步骤信息
265
+ * @description: 更新当前步骤信息
266
+ * @Author: hongbing.wang
267
+ * @Date: 2024-08-19 10:09
268
+ */
269
+ export declare const updateClient: (payload: ClientEnum) => {
270
+ type: EActionTypes;
271
+ payload: {
272
+ client: ClientEnum;
273
+ };
274
+ };
261
275
  /**
262
276
  * @title: 更新备份信息
263
277
  * @description: 更新备份信息
@@ -329,6 +343,7 @@ export declare const backUpFree: (payload: Partial<State>) => {
329
343
  money?: number | undefined;
330
344
  } | undefined;
331
345
  backup?: Omit<State, "backup"> | undefined;
346
+ client?: ClientEnum | undefined;
332
347
  };
333
348
  };
334
349
  export declare function reducers(state: State, action: Action): State;
@@ -34,6 +34,7 @@ __export(store_exports, {
34
34
  backUpFree: () => backUpFree,
35
35
  backUpProduction: () => backUpProduction,
36
36
  reducers: () => reducers,
37
+ updateClient: () => updateClient,
37
38
  updateComponent: () => updateComponent,
38
39
  updateCurrentCustomStemItem: () => updateCurrentCustomStemItem,
39
40
  updateCurrentStemItem: () => updateCurrentStemItem,
@@ -69,6 +70,7 @@ var EActionTypes = /* @__PURE__ */ ((EActionTypes2) => {
69
70
  EActionTypes2["UPDATE_STEP_ITEM"] = "UPDATE_STEP_ITEM";
70
71
  EActionTypes2["BACKUP_PRODUCTION"] = "BACKUP_PRODUCTION";
71
72
  EActionTypes2["BACKUP_FREE"] = "BACKUP_FREE";
73
+ EActionTypes2["UPDATE_CLIENT"] = "UPDATE_CLIENT";
72
74
  return EActionTypes2;
73
75
  })(EActionTypes || {});
74
76
  var updateKey = (key) => ({
@@ -124,6 +126,12 @@ var updateCurrentStemItem = (payload) => ({
124
126
  type: "UPDATE_STEP_ITEM" /* UPDATE_STEP_ITEM */,
125
127
  payload
126
128
  });
129
+ var updateClient = (payload) => ({
130
+ type: "UPDATE_CLIENT" /* UPDATE_CLIENT */,
131
+ payload: {
132
+ client: payload
133
+ }
134
+ });
127
135
  var backUpProduction = (payload) => ({
128
136
  type: "BACKUP_PRODUCTION" /* BACKUP_PRODUCTION */,
129
137
  payload
@@ -260,6 +268,11 @@ function reducers(state, action) {
260
268
  ...s,
261
269
  ...action.payload
262
270
  };
271
+ case "UPDATE_CLIENT" /* UPDATE_CLIENT */:
272
+ return {
273
+ ...state,
274
+ client: action.payload["client"]
275
+ };
263
276
  default: {
264
277
  throw new Error(`Unhandled action type: ${action.type}`);
265
278
  }
@@ -296,6 +309,7 @@ function useDispatch() {
296
309
  backUpFree,
297
310
  backUpProduction,
298
311
  reducers,
312
+ updateClient,
299
313
  updateComponent,
300
314
  updateCurrentCustomStemItem,
301
315
  updateCurrentStemItem,
@@ -36,6 +36,7 @@ var const_default = (params) => {
36
36
  pay,
37
37
  device,
38
38
  net,
39
+ client,
39
40
  ...other
40
41
  } = params || {
41
42
  mode: import_const.ModeEnum.Pay
@@ -56,6 +57,7 @@ var const_default = (params) => {
56
57
  status: import_const.StatusEnum.Loading,
57
58
  steps: [],
58
59
  render: true,
60
+ client: client !== "undefined" ? client : import_const.ClientEnum.Merchant,
59
61
  custom: other || {},
60
62
  ...typeof net !== "undefined" ? { net } : {},
61
63
  ...typeof number !== "undefined" ? { number } : {},
@@ -50,7 +50,7 @@ var tyro_default = ({
50
50
  url,
51
51
  version
52
52
  }) => {
53
- const { eftpos, custom, mode, status: payStatus } = (0, import_store.useContextData)();
53
+ const { eftpos, custom, mode, status: payStatus, client } = (0, import_store.useContextData)();
54
54
  const dispatch = (0, import_store.useDispatch)();
55
55
  const [status, setStatus] = (0, import_react.useState)(-1);
56
56
  const [isManually, setManually] = (0, import_react.useState)(false);
@@ -61,11 +61,15 @@ var tyro_default = ({
61
61
  const requestParams = (0, import_react.useRef)(custom == null ? void 0 : custom.requestParams);
62
62
  const listRef = (0, import_react.useRef)((custom == null ? void 0 : custom.list) || []);
63
63
  const iClientRef = (0, import_react.useRef)();
64
+ const requestIdRef = (0, import_react.useRef)((custom == null ? void 0 : custom.requestId) || "");
64
65
  const unloadRef = (0, import_react.useRef)(false);
65
66
  const clearRef = (0, import_react.useRef)();
66
67
  (0, import_react.useEffect)(() => {
67
68
  listRef.current = (custom == null ? void 0 : custom.list) || [];
68
69
  }, [custom == null ? void 0 : custom.list]);
70
+ (0, import_react.useEffect)(() => {
71
+ requestIdRef.current = (custom == null ? void 0 : custom.requestId) || "";
72
+ }, [custom == null ? void 0 : custom.requestId]);
69
73
  (0, import_react.useEffect)(() => {
70
74
  requestParams.current = custom == null ? void 0 : custom.requestParams;
71
75
  }, [custom == null ? void 0 : custom.requestParams]);
@@ -92,7 +96,7 @@ var tyro_default = ({
92
96
  );
93
97
  };
94
98
  const refundOrder = () => {
95
- var _a, _b;
99
+ var _a, _b, _c;
96
100
  const iClient = iClientRef.current;
97
101
  if (!iClient) {
98
102
  return;
@@ -124,6 +128,27 @@ var tyro_default = ({
124
128
  );
125
129
  setStatus(Date.now());
126
130
  merchantReceiptRef.current = {};
131
+ api.addTransaction({
132
+ order_id: orderIdRef.current,
133
+ number: numRef.current,
134
+ card_reader_id: (_c = deviceRef.current) == null ? void 0 : _c.id,
135
+ card_reader_type: eftpos,
136
+ amount: requestParams.current.amount,
137
+ action: modeRef.current === import_const.ModeEnum.FullPay ? import_const.ModeEnum.Pay : modeRef.current,
138
+ status: "pending",
139
+ request: requestParams.current,
140
+ response: {},
141
+ metadata: {
142
+ receipt: []
143
+ }
144
+ }).then((res) => {
145
+ requestIdRef.current = res.data.id;
146
+ dispatch(
147
+ (0, import_store.updateCustom)({
148
+ requestId: res.data.id
149
+ })
150
+ );
151
+ });
127
152
  iClient.initiateRefund(requestParams.current, {
128
153
  receiptCallback: receiptCallbackImpl,
129
154
  transactionCompleteCallback: transactionCompleteCallbackImpl,
@@ -132,7 +157,7 @@ var tyro_default = ({
132
157
  });
133
158
  };
134
159
  const payOrder = () => {
135
- var _a, _b, _c, _d, _e, _f, _g;
160
+ var _a, _b, _c, _d, _e, _f, _g, _h;
136
161
  const iClient = iClientRef.current;
137
162
  if (!iClient) {
138
163
  return;
@@ -170,6 +195,27 @@ var tyro_default = ({
170
195
  );
171
196
  setStatus(Date.now());
172
197
  merchantReceiptRef.current = {};
198
+ api.addTransaction({
199
+ order_id: orderIdRef.current,
200
+ number: numRef.current,
201
+ card_reader_id: (_h = deviceRef.current) == null ? void 0 : _h.id,
202
+ card_reader_type: eftpos,
203
+ amount: requestParams.current.amount,
204
+ action: modeRef.current === import_const.ModeEnum.FullPay ? import_const.ModeEnum.Pay : modeRef.current,
205
+ status: "pending",
206
+ request: requestParams.current,
207
+ response: {},
208
+ metadata: {
209
+ receipt: []
210
+ }
211
+ }).then((res) => {
212
+ requestIdRef.current = res.data.id;
213
+ dispatch(
214
+ (0, import_store.updateCustom)({
215
+ requestId: res.data.id
216
+ })
217
+ );
218
+ });
173
219
  iClient.initiatePurchase(requestParams.current, {
174
220
  receiptCallback: receiptCallbackImpl,
175
221
  transactionCompleteCallback: transactionCompleteCallbackImpl,
@@ -302,15 +348,15 @@ var tyro_default = ({
302
348
  // merchantReceiptRef.current?.merchantReceipt,
303
349
  response == null ? void 0 : response.customerReceipt
304
350
  ].filter((item) => typeof item === "string").filter(Boolean);
305
- api.addTransaction({
351
+ api.editTransaction(requestIdRef.current, {
306
352
  order_id: orderIdRef.current,
307
353
  number: numRef.current,
308
354
  card_reader_id: (_a = deviceRef.current) == null ? void 0 : _a.id,
309
355
  card_reader_type: eftpos,
310
356
  amount: requestParams.current.amount,
311
357
  action: modeRef.current === import_const.ModeEnum.FullPay ? import_const.ModeEnum.Pay : modeRef.current,
312
- status: response.result === "APPROVED" ? "succeed" : "failed",
313
358
  request: requestParams.current,
359
+ status: response.result === "APPROVED" ? "succeed" : "failed",
314
360
  response: { ...response, merchantReceipt: merchantReceiptRef.current },
315
361
  metadata: {
316
362
  receipt
@@ -418,6 +464,9 @@ var tyro_default = ({
418
464
  }
419
465
  }
420
466
  }, [load]);
467
+ const onNotin = () => {
468
+ onChange("print", [], "print_on_timeout");
469
+ };
421
470
  (0, import_react.useEffect)(() => {
422
471
  let clear;
423
472
  if (status === -1) {
@@ -532,7 +581,7 @@ var tyro_default = ({
532
581
  reject: item.reject,
533
582
  status: item.status
534
583
  }
535
- ))), isManually ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__eft-pay-step-item-btns" }, /* @__PURE__ */ import_react.default.createElement(
584
+ ))), isManually ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__eft-pay-step-item-btns" }, client === import_const.ClientEnum.Merchant ? /* @__PURE__ */ import_react.default.createElement(
536
585
  import_antd.Button,
537
586
  {
538
587
  block: true,
@@ -540,6 +589,14 @@ var tyro_default = ({
540
589
  onClick: onManually
541
590
  },
542
591
  import_utils.locales.getText("page.eftpos-pay.text.manual.marking")
592
+ ) : /* @__PURE__ */ import_react.default.createElement(
593
+ import_antd.Button,
594
+ {
595
+ block: true,
596
+ className: "pisell-lowcode__eft-pay-step-item-btn",
597
+ onClick: onNotin
598
+ },
599
+ import_utils.locales.getText("page.eftpos-pay.text.manual.print_receipt")
543
600
  )) : null, /* @__PURE__ */ import_react.default.createElement(
544
601
  "div",
545
602
  {
@@ -39,6 +39,7 @@ var const_default = (params) => {
39
39
  pay,
40
40
  device,
41
41
  net,
42
+ client,
42
43
  ...other
43
44
  } = params || {
44
45
  mode: import_const.ModeEnum.Pay
@@ -59,6 +60,7 @@ var const_default = (params) => {
59
60
  status: import_const.StatusEnum.Loading,
60
61
  steps: [],
61
62
  render: true,
63
+ client: client !== "undefined" ? client : import_const.ClientEnum.Merchant,
62
64
  custom: other ? { ...other, list: [], step: 1 /* Free */ } : { list: [], step: 1 /* Free */ },
63
65
  ...typeof net !== "undefined" ? { net } : {},
64
66
  ...typeof number !== "undefined" ? { number } : {},
@@ -44,7 +44,7 @@ var Max4004 = 1;
44
44
  var useFail = () => {
45
45
  const dispatch = (0, import_store.useDispatch)();
46
46
  const { custom } = (0, import_store.useContextData)();
47
- const { modeRef } = (0, import_hooks.useStoreRef)();
47
+ const { modeRef, clientRef } = (0, import_hooks.useStoreRef)();
48
48
  const ref = (0, import_react.useRef)((custom == null ? void 0 : custom.retry) || 0);
49
49
  (0, import_react.useEffect)(() => {
50
50
  ref.current = (custom == null ? void 0 : custom.retry) || 0;
@@ -135,6 +135,23 @@ var useFail = () => {
135
135
  }
136
136
  if (code === import_const.PayStatus.Timeout) {
137
137
  if (isMark) {
138
+ if (clientRef.current === import_const.ClientEnum.User) {
139
+ dispatch(
140
+ (0, import_store.updateCustom)({
141
+ failCustom: {
142
+ isPosNetworkError: true,
143
+ status: "warn",
144
+ fail: null,
145
+ title: import_utils.locales.getText("page.eftpos-pay.text.timedout.title"),
146
+ warn: import_utils.locales.getText(
147
+ "page.eftpos-pay.text.transaction.eftpos.fail.other"
148
+ )
149
+ }
150
+ })
151
+ );
152
+ dispatch((0, import_store.updateComponent)("FailCustom"));
153
+ return;
154
+ }
138
155
  dispatch(
139
156
  (0, import_store.updateState)({
140
157
  manual: {
@@ -211,7 +228,7 @@ var useFail = () => {
211
228
  status: "warn",
212
229
  fail: null,
213
230
  title: import_utils.locales.getText("page.eftpos-pay.text.interrupted"),
214
- warn: `${import_utils.locales.getText(
231
+ warn: clientRef.current === import_const.ClientEnum.Merchant ? `${import_utils.locales.getText(
215
232
  "page.eftpos-pay.text.transaction.eftpos.fail.title"
216
233
  )}
217
234
  ${import_utils.locales.getText(
@@ -225,31 +242,9 @@ ${import_utils.locales.getText(
225
242
  )}
226
243
  ${import_utils.locales.getText(
227
244
  "page.eftpos-pay.text.transaction.eftpos.fail.if"
228
- )(modeRef.current)}
229
- `
230
- // warn: (
231
- // <>
232
- // {locales.getText(
233
- // 'page.eftpos-pay.text.transaction.eftpos.fail.title'
234
- // )}
235
- // <br />
236
- // {locales.getText(
237
- // 'page.eftpos-pay.text.transaction.eftpos.fail.power'
238
- // )}
239
- // . <br />
240
- // {locales.getText(
241
- // 'page.eftpos-pay.text.transaction.eftpos.fail.device'
242
- // )}
243
- // <br />
244
- // {locales.getText(
245
- // 'page.eftpos-pay.text.transaction.eftpos.fail.network'
246
- // )}
247
- // <br />
248
- // {locales.getText(
249
- // 'page.eftpos-pay.text.transaction.eftpos.fail.if'
250
- // )(modeRef.current)}
251
- // </>
252
- // ),
245
+ )(modeRef.current)}` : import_utils.locales.getText(
246
+ "page.eftpos-pay.text.transaction.eftpos.fail.other"
247
+ )
253
248
  }
254
249
  })
255
250
  );
@@ -331,7 +326,7 @@ var useValidate = (check, num, onChange) => {
331
326
  const failRef = (0, import_react.useRef)(fail);
332
327
  const ref = (0, import_react.useRef)();
333
328
  const { custom } = (0, import_store.useContextData)();
334
- const { netRef, payRef, numRef, modeRef } = (0, import_hooks.useStoreRef)();
329
+ const { netRef, payRef, numRef, modeRef, clientRef } = (0, import_hooks.useStoreRef)();
335
330
  const stepRef = (0, import_react.useRef)(custom == null ? void 0 : custom.step);
336
331
  const listRef = (0, import_react.useRef)(custom == null ? void 0 : custom.list);
337
332
  (0, import_react.useEffect)(() => {
@@ -59,7 +59,8 @@ var windcave_default = ({
59
59
  netRef,
60
60
  symbolRef,
61
61
  amountRef,
62
- eftposRef
62
+ eftposRef,
63
+ clientRef
63
64
  } = (0, import_hooks.useStoreRef)();
64
65
  const dispatch = (0, import_store.useDispatch)();
65
66
  const fail = (0, import_helper2.useFail)();
@@ -134,6 +134,9 @@ var checkEnrollment = async (orderId, cardInfo, callback) => {
134
134
  ...cardInfo
135
135
  });
136
136
  (0, import_payGroup.setPayNumber)(orderId, data == null ? void 0 : data.pay_number);
137
+ if (!(data == null ? void 0 : data.pay_info)) {
138
+ return null;
139
+ }
137
140
  return data;
138
141
  } catch (err) {
139
142
  log({
@@ -87,13 +87,15 @@ var RightPanel = (props) => {
87
87
  const header = (0, import_react.useMemo)(() => {
88
88
  if (page === "list") {
89
89
  return /* @__PURE__ */ import_react.default.createElement("div", { className: "select-customer-right-panel-header" }, /* @__PURE__ */ import_react.default.createElement("span", null, phone ? import_utils2.locales.getText("pisell2.text.result-found") : import_utils2.locales.getText("pisell2.text.personnel-list")), /* @__PURE__ */ import_react.default.createElement(
90
- import_PlusCircle.default,
90
+ "span",
91
91
  {
92
- className: "select-customer-right-panel-header-icon",
92
+ className: "select-customer-right-panel-header-create-btn",
93
93
  onClick: () => {
94
94
  setPage("create");
95
95
  }
96
- }
96
+ },
97
+ /* @__PURE__ */ import_react.default.createElement(import_PlusCircle.default, { className: "select-customer-right-panel-header-icon" }),
98
+ import_utils2.locales.getText("pisell2.text.create")
97
99
  ));
98
100
  }
99
101
  return /* @__PURE__ */ import_react.default.createElement(
@@ -25,6 +25,13 @@
25
25
  justify-content: flex-start;
26
26
  }
27
27
 
28
+ .select-customer-right-panel-header-create-btn {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ cursor: pointer;
33
+ }
34
+
28
35
  .select-customer-right-panel-header-icon {
29
36
  display: flex;
30
37
  align-items: center;
@@ -154,6 +154,9 @@ var PisellSelectCustomerModal = (props) => {
154
154
  document.body.id = "body";
155
155
  }, []);
156
156
  const adjustFontSize = (0, import_react.useMemo)(() => {
157
+ if (!phone) {
158
+ return 30;
159
+ }
157
160
  const maxFontSize = 60;
158
161
  const minFontSize = 10;
159
162
  const defaultFontSize = maxFontSize;
@@ -197,10 +200,14 @@ var PisellSelectCustomerModal = (props) => {
197
200
  onChange: (e) => {
198
201
  setPhone(e.target.value);
199
202
  },
203
+ placeholder: import_utils.locales.getText(
204
+ "pisell2.text.search-customer-by-phone-number"
205
+ ),
200
206
  style: {
201
207
  textAlign: "left",
202
208
  fontSize: adjustFontSize
203
209
  },
210
+ className: "pisell-select-customer-modal-input",
204
211
  ...virtualKeyInputProps
205
212
  },
206
213
  rightPanel: /* @__PURE__ */ import_react.default.createElement(import_RightPanel.default, { value: _value, phone, onChange: _onChange }),