@pisell/private-materials 6.6.62 → 6.6.63

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 (203) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/components/booking/components/footer/amount.js +4 -3
  12. package/es/components/booking/components/footer/utils.js +10 -3
  13. package/es/components/booking/components/voucher/index.js +1 -1
  14. package/es/components/booking/info2/service/editService/index.js +76 -8
  15. package/es/components/booking/info2/service/editService/utils.d.ts +1 -0
  16. package/es/components/booking/info2/service/editService/utils.js +16 -0
  17. package/es/components/booking/payments/index.js +1 -1
  18. package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
  19. package/es/components/eftpos/PairModal/hooks.d.ts +27 -0
  20. package/es/components/eftpos/PairModal/hooks.js +67 -0
  21. package/es/components/eftpos/PairModal/index.d.ts +11 -0
  22. package/es/components/eftpos/PairModal/index.js +246 -0
  23. package/es/components/eftpos/PairModal/index.less +70 -0
  24. package/es/components/eftpos/SettlementModal/Action.d.ts +7 -0
  25. package/es/components/eftpos/SettlementModal/Action.js +141 -0
  26. package/es/components/eftpos/SettlementModal/index.d.ts +7 -0
  27. package/es/components/eftpos/SettlementModal/index.js +135 -0
  28. package/es/components/eftpos/SettlementModal/index.less +33 -0
  29. package/es/components/eftpos/SettlementModal/serve.d.ts +8 -0
  30. package/es/components/eftpos/SettlementModal/serve.js +171 -0
  31. package/es/components/eftpos/SettlementModal/types.d.ts +138 -0
  32. package/es/components/eftpos/SettlementModal/types.js +35 -0
  33. package/es/components/eftpos/SettlementModal/utils.d.ts +18 -0
  34. package/es/components/eftpos/SettlementModal/utils.js +351 -0
  35. package/es/components/eftpos/assets/mx51SCI.svg +15 -0
  36. package/es/components/eftpos/const.d.ts +3 -1
  37. package/es/components/eftpos/const.js +2 -0
  38. package/es/components/eftpos/device.d.ts +3 -1
  39. package/es/components/eftpos/device.js +14 -3
  40. package/es/components/eftpos/hooks.d.ts +13 -0
  41. package/es/components/eftpos/hooks.js +35 -0
  42. package/es/components/eftpos/index.js +198 -24
  43. package/es/components/eftpos/index.less +32 -1
  44. package/es/components/eftpos/locales.d.ts +80 -0
  45. package/es/components/eftpos/locales.js +205 -25
  46. package/es/components/eftpos/table.js +47 -3
  47. package/es/components/eftposPay/aggregatePayment/hooks/useMicropay.d.ts +2 -2
  48. package/es/components/eftposPay/aggregatePayment/hooks/usePayment.d.ts +8 -0
  49. package/es/components/eftposPay/aggregatePayment/hooks/usePayment.js +145 -0
  50. package/es/components/eftposPay/aggregatePayment/index.d.ts +2 -1
  51. package/es/components/eftposPay/aggregatePayment/index.js +2 -1
  52. package/es/components/eftposPay/aggregatePayment/mock.d.ts +495 -0
  53. package/es/components/eftposPay/aggregatePayment/mock.js +567 -0
  54. package/es/components/eftposPay/aggregatePayment/service.js +1 -0
  55. package/es/components/eftposPay/aggregatePayment/types.d.ts +12 -12
  56. package/es/components/eftposPay/aggregatePayment/types.js +4 -8
  57. package/es/components/eftposPay/aggregatePayment/utils/payment.d.ts +13 -13
  58. package/es/components/eftposPay/aggregatePayment/utils/payment.js +231 -168
  59. package/es/components/eftposPay/amount.js +15 -1
  60. package/es/components/eftposPay/app.js +2 -3
  61. package/es/components/eftposPay/component/fail/failCustom.js +13 -4
  62. package/es/components/eftposPay/component/fail/index.js +12 -5
  63. package/es/components/eftposPay/component/fail/network.js +3 -0
  64. package/es/components/eftposPay/component/fail/unknow.js +8 -0
  65. package/es/components/eftposPay/component/manual/index.js +17 -3
  66. package/es/components/eftposPay/component/signature/index.js +3 -0
  67. package/es/components/eftposPay/const.d.ts +8 -3
  68. package/es/components/eftposPay/const.js +2 -0
  69. package/es/components/eftposPay/device.js +225 -38
  70. package/es/components/eftposPay/helper.d.ts +3 -0
  71. package/es/components/eftposPay/helper.js +2 -1
  72. package/es/components/eftposPay/hooks.d.ts +1 -1
  73. package/es/components/eftposPay/index.js +50 -13
  74. package/es/components/eftposPay/linkly/const.js +1 -1
  75. package/es/components/eftposPay/linkly/hooks/normal.js +21 -68
  76. package/es/components/eftposPay/linkly/hooks/useTimeQuery.js +20 -81
  77. package/es/components/eftposPay/linkly/index.js +11 -23
  78. package/es/components/eftposPay/locales.d.ts +15 -0
  79. package/es/components/eftposPay/locales.js +30 -15
  80. package/es/components/eftposPay/manufacturer.d.ts +1 -0
  81. package/es/components/eftposPay/manufacturer.js +4 -0
  82. package/es/components/eftposPay/mx51/Action.d.ts +6 -0
  83. package/es/components/eftposPay/mx51/Action.js +144 -0
  84. package/es/components/eftposPay/mx51/const.d.ts +5 -0
  85. package/es/components/eftposPay/mx51/const.js +69 -0
  86. package/es/components/eftposPay/mx51/index.d.ts +6 -0
  87. package/es/components/eftposPay/mx51/index.js +498 -0
  88. package/es/components/eftposPay/mx51/types.d.ts +142 -0
  89. package/es/components/eftposPay/mx51/types.js +35 -0
  90. package/es/components/eftposPay/mx51/utils.d.ts +10 -0
  91. package/es/components/eftposPay/mx51/utils.js +121 -0
  92. package/es/components/eftposPay/pay.js +21 -9
  93. package/es/components/eftposPay/payo/config.js +39 -5
  94. package/es/components/eftposPay/payo/const.js +1 -1
  95. package/es/components/eftposPay/payo/hooks.js +3 -12
  96. package/es/components/eftposPay/payo/payment.js +69 -136
  97. package/es/components/eftposPay/store/index.d.ts +4 -8
  98. package/es/components/eftposPay/tip.js +5 -0
  99. package/es/components/eftposPay/tyro/const.js +1 -1
  100. package/es/components/eftposPay/tyro/index.js +44 -11
  101. package/es/components/eftposPay/utils/payLog.d.ts +81 -0
  102. package/es/components/eftposPay/utils/payLog.js +458 -0
  103. package/es/components/eftposPay/windcave/const.js +1 -1
  104. package/es/components/eftposPay/windcave/receiptAction.js +5 -0
  105. package/es/components/eftposPay/windcave/windcave.js +37 -38
  106. package/lib/components/booking/components/footer/amount.js +3 -3
  107. package/lib/components/booking/components/footer/utils.js +12 -5
  108. package/lib/components/booking/components/voucher/index.js +1 -1
  109. package/lib/components/booking/info2/service/editService/index.js +56 -5
  110. package/lib/components/booking/info2/service/editService/utils.d.ts +1 -0
  111. package/lib/components/booking/info2/service/editService/utils.js +16 -0
  112. package/lib/components/booking/payments/index.js +1 -1
  113. package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
  114. package/lib/components/eftpos/PairModal/hooks.d.ts +27 -0
  115. package/lib/components/eftpos/PairModal/hooks.js +70 -0
  116. package/lib/components/eftpos/PairModal/index.d.ts +11 -0
  117. package/lib/components/eftpos/PairModal/index.js +197 -0
  118. package/lib/components/eftpos/PairModal/index.less +70 -0
  119. package/lib/components/eftpos/SettlementModal/Action.d.ts +7 -0
  120. package/lib/components/eftpos/SettlementModal/Action.js +153 -0
  121. package/lib/components/eftpos/SettlementModal/index.d.ts +7 -0
  122. package/lib/components/eftpos/SettlementModal/index.js +170 -0
  123. package/lib/components/eftpos/SettlementModal/index.less +33 -0
  124. package/lib/components/eftpos/SettlementModal/serve.d.ts +8 -0
  125. package/lib/components/eftpos/SettlementModal/serve.js +45 -0
  126. package/lib/components/eftpos/SettlementModal/types.d.ts +138 -0
  127. package/lib/components/eftpos/SettlementModal/types.js +43 -0
  128. package/lib/components/eftpos/SettlementModal/utils.d.ts +18 -0
  129. package/lib/components/eftpos/SettlementModal/utils.js +248 -0
  130. package/lib/components/eftpos/assets/mx51SCI.svg +15 -0
  131. package/lib/components/eftpos/const.d.ts +3 -1
  132. package/lib/components/eftpos/const.js +2 -0
  133. package/lib/components/eftpos/device.d.ts +3 -1
  134. package/lib/components/eftpos/device.js +13 -3
  135. package/lib/components/eftpos/hooks.d.ts +13 -0
  136. package/lib/components/eftpos/hooks.js +30 -0
  137. package/lib/components/eftpos/index.js +121 -8
  138. package/lib/components/eftpos/index.less +32 -1
  139. package/lib/components/eftpos/locales.d.ts +80 -0
  140. package/lib/components/eftpos/locales.js +231 -21
  141. package/lib/components/eftpos/table.js +30 -2
  142. package/lib/components/eftposPay/aggregatePayment/hooks/useMicropay.d.ts +2 -2
  143. package/lib/components/eftposPay/aggregatePayment/hooks/usePayment.d.ts +8 -0
  144. package/lib/components/eftposPay/aggregatePayment/hooks/usePayment.js +171 -0
  145. package/lib/components/eftposPay/aggregatePayment/index.d.ts +2 -1
  146. package/lib/components/eftposPay/aggregatePayment/index.js +5 -2
  147. package/lib/components/eftposPay/aggregatePayment/mock.d.ts +495 -0
  148. package/lib/components/eftposPay/aggregatePayment/mock.js +679 -0
  149. package/lib/components/eftposPay/aggregatePayment/types.d.ts +12 -12
  150. package/lib/components/eftposPay/aggregatePayment/utils/payment.d.ts +13 -13
  151. package/lib/components/eftposPay/aggregatePayment/utils/payment.js +173 -123
  152. package/lib/components/eftposPay/amount.js +13 -1
  153. package/lib/components/eftposPay/app.js +4 -5
  154. package/lib/components/eftposPay/component/fail/failCustom.js +10 -2
  155. package/lib/components/eftposPay/component/fail/index.js +10 -2
  156. package/lib/components/eftposPay/component/fail/network.js +3 -0
  157. package/lib/components/eftposPay/component/fail/unknow.js +8 -0
  158. package/lib/components/eftposPay/component/manual/index.js +16 -2
  159. package/lib/components/eftposPay/component/signature/index.js +3 -0
  160. package/lib/components/eftposPay/const.d.ts +8 -3
  161. package/lib/components/eftposPay/const.js +2 -0
  162. package/lib/components/eftposPay/device.js +114 -25
  163. package/lib/components/eftposPay/helper.d.ts +3 -0
  164. package/lib/components/eftposPay/helper.js +2 -1
  165. package/lib/components/eftposPay/hooks.d.ts +1 -1
  166. package/lib/components/eftposPay/index.js +38 -13
  167. package/lib/components/eftposPay/linkly/const.js +1 -1
  168. package/lib/components/eftposPay/linkly/hooks/normal.js +22 -43
  169. package/lib/components/eftposPay/linkly/hooks/useTimeQuery.js +13 -65
  170. package/lib/components/eftposPay/linkly/index.js +8 -10
  171. package/lib/components/eftposPay/locales.d.ts +15 -0
  172. package/lib/components/eftposPay/locales.js +30 -15
  173. package/lib/components/eftposPay/manufacturer.d.ts +1 -0
  174. package/lib/components/eftposPay/manufacturer.js +6 -0
  175. package/lib/components/eftposPay/mx51/Action.d.ts +6 -0
  176. package/lib/components/eftposPay/mx51/Action.js +154 -0
  177. package/lib/components/eftposPay/mx51/const.d.ts +5 -0
  178. package/lib/components/eftposPay/mx51/const.js +85 -0
  179. package/lib/components/eftposPay/mx51/index.d.ts +6 -0
  180. package/lib/components/eftposPay/mx51/index.js +433 -0
  181. package/lib/components/eftposPay/mx51/types.d.ts +142 -0
  182. package/lib/components/eftposPay/mx51/types.js +43 -0
  183. package/lib/components/eftposPay/mx51/utils.d.ts +10 -0
  184. package/lib/components/eftposPay/mx51/utils.js +115 -0
  185. package/lib/components/eftposPay/pay.js +13 -3
  186. package/lib/components/eftposPay/payo/config.js +16 -8
  187. package/lib/components/eftposPay/payo/const.js +1 -1
  188. package/lib/components/eftposPay/payo/hooks.js +12 -10
  189. package/lib/components/eftposPay/payo/payment.js +31 -65
  190. package/lib/components/eftposPay/store/index.d.ts +4 -8
  191. package/lib/components/eftposPay/tip.js +5 -0
  192. package/lib/components/eftposPay/tyro/const.js +1 -1
  193. package/lib/components/eftposPay/tyro/index.js +21 -17
  194. package/lib/components/eftposPay/utils/payLog.d.ts +81 -0
  195. package/lib/components/eftposPay/utils/payLog.js +321 -0
  196. package/lib/components/eftposPay/windcave/const.js +1 -1
  197. package/lib/components/eftposPay/windcave/receiptAction.js +5 -0
  198. package/lib/components/eftposPay/windcave/windcave.js +27 -29
  199. package/package.json +2 -2
  200. package/es/components/eftposPay/utils/log/index.d.ts +0 -110
  201. package/es/components/eftposPay/utils/log/index.js +0 -371
  202. package/lib/components/eftposPay/utils/log/index.d.ts +0 -110
  203. package/lib/components/eftposPay/utils/log/index.js +0 -294
@@ -0,0 +1,197 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/eftpos/PairModal/index.tsx
30
+ var PairModal_exports = {};
31
+ __export(PairModal_exports, {
32
+ default: () => PairModal_default
33
+ });
34
+ module.exports = __toCommonJS(PairModal_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_materials = require("@pisell/materials");
37
+ var import_utils = require("@pisell/utils");
38
+ var import_hooks = require("./hooks");
39
+ var import_index = require("./index.less");
40
+ var PairModal = ({
41
+ visible,
42
+ data,
43
+ onCancel,
44
+ onCheck,
45
+ onConfirm
46
+ }) => {
47
+ const { pairResponse, type } = data || {};
48
+ const [cancelLoading, setCancelLoading] = (0, import_react.useState)(false);
49
+ const [okLoading, setOkLoading] = (0, import_react.useState)(false);
50
+ const [status, setStatus] = (0, import_react.useState)(
51
+ "pairing"
52
+ );
53
+ const checkPairRequest = (0, import_hooks.useCheckPairRequest)();
54
+ const unPairRequest = (0, import_hooks.useUnPairRequest)();
55
+ const textInfo = (0, import_react.useMemo)(() => {
56
+ return import_utils.locales.getText("page.eftpos.text.pair.modal.content.text-info")(
57
+ status
58
+ );
59
+ }, [status]);
60
+ const styleInfo = (0, import_react.useMemo)(() => {
61
+ switch (status) {
62
+ case "pairing":
63
+ return {
64
+ border: "1px solid #FEC84B",
65
+ backgroundColor: "#FFFCF5",
66
+ iconColor: "#DC6803",
67
+ color: "#B54708",
68
+ circle1Border: "2px solid rgba(220, 104, 3, 0.1)",
69
+ circle2Border: "2px solid rgba(220, 104, 3, 0.5)"
70
+ };
71
+ case "success":
72
+ return {
73
+ border: "1px solid #75E0A7",
74
+ backgroundColor: "#F6FEF9",
75
+ iconColor: "#079455",
76
+ color: "#067647",
77
+ circle1Border: "2px solid rgba(7, 148, 85, 0.1)",
78
+ circle2Border: "2px solid rgba(7, 148, 85, 0.5)"
79
+ };
80
+ case "failed":
81
+ return {
82
+ border: "1px solid #FDA29B",
83
+ backgroundColor: "#FFFBFA",
84
+ iconColor: "#D92D20",
85
+ color: "#B42318",
86
+ circle1Border: "2px solid rgba(217, 45, 32, 0.1)",
87
+ circle2Border: "2px solid rgba(217, 45, 32, 0.5)"
88
+ };
89
+ }
90
+ }, [status]);
91
+ const _onCancel = async () => {
92
+ if (cancelLoading || okLoading) {
93
+ return;
94
+ }
95
+ try {
96
+ setCancelLoading(true);
97
+ await unPairRequest.run({
98
+ type,
99
+ pair_response: pairResponse
100
+ });
101
+ } catch (error) {
102
+ console.error("onCancel error =>", error);
103
+ } finally {
104
+ setCancelLoading(false);
105
+ }
106
+ onCancel == null ? void 0 : onCancel();
107
+ };
108
+ const _onCheck = async () => {
109
+ try {
110
+ setOkLoading(true);
111
+ const response = await checkPairRequest.run({
112
+ type,
113
+ pair_response: pairResponse
114
+ });
115
+ if ((response == null ? void 0 : response.code) == 200) {
116
+ setStatus("success");
117
+ } else {
118
+ setStatus("failed");
119
+ }
120
+ } catch (error) {
121
+ console.error("onCheck error =>", error);
122
+ setStatus("failed");
123
+ } finally {
124
+ setOkLoading(false);
125
+ }
126
+ };
127
+ const _onOk = async () => {
128
+ if (cancelLoading || okLoading) {
129
+ return;
130
+ }
131
+ if (status === "pairing" || status === "failed") {
132
+ await _onCheck();
133
+ onCheck == null ? void 0 : onCheck();
134
+ } else if (status === "success") {
135
+ onConfirm == null ? void 0 : onConfirm();
136
+ }
137
+ };
138
+ return /* @__PURE__ */ import_react.default.createElement(
139
+ import_materials.PisellModal,
140
+ {
141
+ open: visible,
142
+ header: false,
143
+ maskClosable: false,
144
+ closable: false,
145
+ zIndex: 9999,
146
+ onCancel: _onCancel,
147
+ onOk: _onOk,
148
+ okText: textInfo.okButtonText,
149
+ cancelText: textInfo.cancenButtonText,
150
+ okButtonProps: {
151
+ loading: okLoading
152
+ },
153
+ cancelButtonProps: {
154
+ loading: cancelLoading
155
+ }
156
+ },
157
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content" }, /* @__PURE__ */ import_react.default.createElement(
158
+ "div",
159
+ {
160
+ className: "pisell-lowcode__pos-device-pair-modal-content-top",
161
+ style: {
162
+ border: styleInfo.border,
163
+ backgroundColor: styleInfo.backgroundColor,
164
+ color: styleInfo.color
165
+ }
166
+ },
167
+ /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(
168
+ "div",
169
+ {
170
+ className: "pisell-lowcode__pos-device-pair-modal-content-top-circle-1",
171
+ style: {
172
+ border: styleInfo.circle1Border
173
+ }
174
+ },
175
+ /* @__PURE__ */ import_react.default.createElement(
176
+ "div",
177
+ {
178
+ className: "pisell-lowcode__pos-device-pair-modal-content-top-circle-2",
179
+ style: {
180
+ border: styleInfo.circle2Border
181
+ }
182
+ },
183
+ /* @__PURE__ */ import_react.default.createElement(
184
+ import_materials.Icon,
185
+ {
186
+ type: "pisell2-alert-circle",
187
+ size: 20,
188
+ style: { color: styleInfo.iconColor, opacity: 1 }
189
+ }
190
+ )
191
+ )
192
+ )),
193
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-top-right" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-top-right-title" }, textInfo.title), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-top-right-description" }, textInfo.description))
194
+ ), status !== "success" && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-code" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-code-title" }, textInfo.codeTitle), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-code-value" }, (pairResponse == null ? void 0 : pairResponse.confirmation_code) || "-")))
195
+ );
196
+ };
197
+ var PairModal_default = PairModal;
@@ -0,0 +1,70 @@
1
+ .pisell-lowcode__pos-device-pair-modal-content {
2
+ padding: 20px 0;
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 20px;
6
+
7
+ &-top {
8
+ padding: 16px;
9
+ display: flex;
10
+ flex-direction: row;
11
+ gap: 8px;
12
+ border-radius: 12px;
13
+ box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.05);
14
+
15
+ &-circle-1 {
16
+ margin: -8px 0 0 -8px;
17
+ width: 36px;
18
+ height: 36px;
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+ border-radius: 50%;
23
+ }
24
+
25
+ &-circle-2 {
26
+ width: 28px;
27
+ height: 28px;
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ border-radius: 50%;
32
+ }
33
+
34
+ &-right {
35
+ display: flex;
36
+ flex-direction: column;
37
+ gap: 4px;
38
+
39
+ &-title {
40
+ font-size: 14px;
41
+ font-weight: 600;
42
+ }
43
+
44
+ &-description {
45
+ font-size: 14px;
46
+ font-weight: 400;
47
+ }
48
+ }
49
+ }
50
+
51
+ &-code {
52
+ display: flex;
53
+ flex-direction: column;
54
+ justify-content: center;
55
+ align-items: center;
56
+ gap: 8px;
57
+
58
+ &-title {
59
+ color: var(--Gray-700, #344054);
60
+ font-size: 14px;
61
+ font-weight: 600;
62
+ }
63
+
64
+ &-value {
65
+ color: var(--Gray-900, #101828);
66
+ font-size: 30px;
67
+ font-weight: 600;
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,7 @@
1
+ import './index.less';
2
+ /**
3
+ * @title 渲染动态内容
4
+ * @description 用于渲染从接口解析出来的元素
5
+ */
6
+ declare const Action: (props: any) => JSX.Element;
7
+ export default Action;
@@ -0,0 +1,153 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/eftpos/SettlementModal/Action.tsx
30
+ var Action_exports = {};
31
+ __export(Action_exports, {
32
+ default: () => Action_default
33
+ });
34
+ module.exports = __toCommonJS(Action_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_antd = require("antd");
37
+ var import_index = require("./index.less");
38
+ var Action = (props) => {
39
+ var _a, _b;
40
+ const { data, showMessage = true } = props;
41
+ const [inputValues, setInputValues] = (0, import_react.useState)({});
42
+ const inputValuesRef = (0, import_react.useRef)(inputValues);
43
+ (0, import_react.useEffect)(() => {
44
+ var _a2;
45
+ if (!data) return;
46
+ const inputObj = {};
47
+ (_a2 = data == null ? void 0 : data.layouts) == null ? void 0 : _a2.forEach((item) => {
48
+ var _a3;
49
+ (_a3 = item == null ? void 0 : item.elements) == null ? void 0 : _a3.forEach((element) => {
50
+ if ((element == null ? void 0 : element.type) === "input" && (element == null ? void 0 : element.name)) {
51
+ inputObj[element == null ? void 0 : element.name] = inputValuesRef.current[element == null ? void 0 : element.name] || "";
52
+ }
53
+ });
54
+ });
55
+ setInputValues(inputObj);
56
+ }, [data]);
57
+ (0, import_react.useEffect)(() => {
58
+ inputValuesRef.current = inputValues;
59
+ }, [inputValues]);
60
+ const handleInputChange = (key, value) => {
61
+ setInputValues((prev) => ({ ...prev, [key]: value }));
62
+ };
63
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showMessage && (data == null ? void 0 : data.message) && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-eftpos-settlement-modal-step-item" }, data == null ? void 0 : data.message), ((_a = data == null ? void 0 : data.layouts) == null ? void 0 : _a.length) > 0 && ((_b = data == null ? void 0 : data.layouts) == null ? void 0 : _b.map((item, index) => {
64
+ var _a2;
65
+ return /* @__PURE__ */ import_react.default.createElement(
66
+ "div",
67
+ {
68
+ key: index,
69
+ className: "pisell-eftpos-settlement-modal-step-item-btns",
70
+ style: {
71
+ marginTop: "20px",
72
+ width: "100%",
73
+ display: "flex",
74
+ justifyContent: "center"
75
+ }
76
+ },
77
+ (_a2 = item == null ? void 0 : item.elements) == null ? void 0 : _a2.map((element) => {
78
+ const { key, label, type, text, name } = element;
79
+ if (type === "button") {
80
+ return /* @__PURE__ */ import_react.default.createElement(
81
+ import_antd.Button,
82
+ {
83
+ key: key + label,
84
+ block: true,
85
+ className: "pisell-eftpos-settlement-modal-step-item-btn",
86
+ onClick: () => {
87
+ var _a3;
88
+ return (_a3 = props == null ? void 0 : props.onClick) == null ? void 0 : _a3.call(props, element, { inputValues });
89
+ }
90
+ },
91
+ element.label
92
+ );
93
+ } else if (type === "text") {
94
+ return /* @__PURE__ */ import_react.default.createElement(
95
+ "div",
96
+ {
97
+ key: key + label,
98
+ className: "pisell-eftpos-settlement-modal-step-item-tip"
99
+ },
100
+ label ? `${label}: ` : "",
101
+ text || ""
102
+ );
103
+ } else if (type === "image") {
104
+ const { name: name2, data: data2, encoding } = (element == null ? void 0 : element.image) || {};
105
+ const imageUrl = data2 ? `data:${name2 || "image/png"};${encoding || "base64"},${data2}` : "";
106
+ return /* @__PURE__ */ import_react.default.createElement(
107
+ "div",
108
+ {
109
+ style: {
110
+ width: "100%",
111
+ display: "flex",
112
+ justifyContent: "center"
113
+ }
114
+ },
115
+ /* @__PURE__ */ import_react.default.createElement("img", { key: key + label, src: imageUrl, alt: label })
116
+ );
117
+ } else if (type === "input") {
118
+ return /* @__PURE__ */ import_react.default.createElement(
119
+ "div",
120
+ {
121
+ style: {
122
+ width: "100%",
123
+ display: "flex",
124
+ alignItems: "center",
125
+ flexWrap: "wrap"
126
+ }
127
+ },
128
+ /* @__PURE__ */ import_react.default.createElement("span", { style: { marginRight: "10px" } }, `${label ? `${label} ` : ""}`),
129
+ /* @__PURE__ */ import_react.default.createElement(
130
+ import_antd.Input,
131
+ {
132
+ key: key + label,
133
+ alt: label,
134
+ style: { flex: 1, minWidth: "200px" },
135
+ value: inputValues[name] || "",
136
+ onChange: (e) => handleInputChange(name, e.target.value)
137
+ }
138
+ )
139
+ );
140
+ }
141
+ return null;
142
+ })
143
+ );
144
+ })), (data == null ? void 0 : data.detailsText) && /* @__PURE__ */ import_react.default.createElement(
145
+ "div",
146
+ {
147
+ className: "pisell-eftpos-settlement-modal-step-item pisell-eftpos-settlement-modal-step-item-tip",
148
+ style: { marginTop: "24px" }
149
+ },
150
+ data == null ? void 0 : data.detailsText
151
+ ));
152
+ };
153
+ var Action_default = Action;
@@ -0,0 +1,7 @@
1
+ import './index.less';
2
+ declare const SettlementModal: ({ open, onClose, data, }: {
3
+ open: boolean;
4
+ onClose: () => void;
5
+ data: any;
6
+ }) => JSX.Element;
7
+ export default SettlementModal;
@@ -0,0 +1,170 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/eftpos/SettlementModal/index.tsx
30
+ var SettlementModal_exports = {};
31
+ __export(SettlementModal_exports, {
32
+ default: () => SettlementModal_default
33
+ });
34
+ module.exports = __toCommonJS(SettlementModal_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_ahooks = require("ahooks");
37
+ var import_materials = require("@pisell/materials");
38
+ var import_index = require("./index.less");
39
+ var import_usePrefix = __toESM(require("../../../hooks/usePrefix"));
40
+ var import_Action = __toESM(require("./Action"));
41
+ var import_types = require("./types");
42
+ var import_utils = require("./utils");
43
+ var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
44
+ var SettlementModal = ({
45
+ open,
46
+ onClose,
47
+ data
48
+ }) => {
49
+ var _a;
50
+ const context = (0, import_useEngineContext.default)();
51
+ const prefix = (0, import_usePrefix.default)();
52
+ const { isTerminal, interaction } = ((_a = context == null ? void 0 : context.appHelper) == null ? void 0 : _a.utils) || {};
53
+ const [receiptModalShow, setReceiptModalShow] = (0, import_react.useState)(false);
54
+ const [receiptModalData, setReceiptModalData] = (0, import_react.useState)(null);
55
+ const [action, setAction] = (0, import_react.useState)(null);
56
+ const [status, setStatus] = (0, import_react.useState)(
57
+ import_types.ESettlementStatus.Processing
58
+ );
59
+ const runSettlementQuery = (0, import_ahooks.useMemoizedFn)(() => {
60
+ setAction(null);
61
+ setStatus(import_types.ESettlementStatus.Processing);
62
+ console.log("settlementQuery_start");
63
+ (0, import_utils.settlementQuery)(data, (status2, res) => {
64
+ console.log("settlementQuery_callback", status2, res);
65
+ const parsedData = (0, import_utils.parseMX51Params)(res == null ? void 0 : res.data, status2, res);
66
+ console.log("settlementQuery_parsedData", parsedData);
67
+ if (parsedData) {
68
+ setAction(parsedData);
69
+ }
70
+ setStatus(status2);
71
+ });
72
+ });
73
+ const onCloseReceiptModal = () => {
74
+ setReceiptModalData(null);
75
+ setReceiptModalShow(false);
76
+ };
77
+ const onElementClick = (element) => {
78
+ var _a2, _b;
79
+ console.log("onElementClick", element);
80
+ switch (element.key) {
81
+ case import_types.EButtonKeyType.SettlementComplete:
82
+ onClose();
83
+ break;
84
+ case import_types.EButtonKeyType.RetrySettlement:
85
+ runSettlementQuery();
86
+ break;
87
+ case import_types.EButtonKeyType.PrintMerchantReceipt:
88
+ const _isTerminal = typeof isTerminal === "function" ? isTerminal() : false;
89
+ if (_isTerminal) {
90
+ const receipt = (element == null ? void 0 : element.receipt) ? Array.isArray(element == null ? void 0 : element.receipt) ? element == null ? void 0 : element.receipt : [element == null ? void 0 : element.receipt] : [];
91
+ (_b = (_a2 = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _a2.postMessageToApp) == null ? void 0 : _b.call(_a2, {
92
+ module: "pos",
93
+ key: "print",
94
+ data: receipt
95
+ });
96
+ } else {
97
+ setReceiptModalShow(true);
98
+ setReceiptModalData(element == null ? void 0 : element.receipt);
99
+ }
100
+ break;
101
+ }
102
+ };
103
+ (0, import_react.useEffect)(() => {
104
+ if (open && data) {
105
+ runSettlementQuery();
106
+ }
107
+ }, [open, data, runSettlementQuery]);
108
+ return /* @__PURE__ */ import_react.default.createElement(
109
+ import_materials.PisellModal,
110
+ {
111
+ open,
112
+ closable: false,
113
+ header: false,
114
+ footer: null,
115
+ width: 600
116
+ },
117
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-eftpos-settlement-modal" }, status === import_types.ESettlementStatus.Processing && /* @__PURE__ */ import_react.default.createElement(
118
+ "div",
119
+ {
120
+ style: {
121
+ backgroundImage: `url(${prefix}/loading.png)`,
122
+ marginBottom: "24px"
123
+ },
124
+ className: "pisell-lowcode__eft-pay-img pisell-lowcode__eft-pay-load"
125
+ }
126
+ ), status === import_types.ESettlementStatus.Failed && /* @__PURE__ */ import_react.default.createElement(
127
+ "div",
128
+ {
129
+ style: {
130
+ backgroundImage: `url(${prefix}/warn.png)`,
131
+ marginBottom: "24px"
132
+ },
133
+ className: "pisell-lowcode__eft-pay-img pisell-lowcode__eft-pay-warn"
134
+ }
135
+ ), /* @__PURE__ */ import_react.default.createElement(import_Action.default, { data: action, onClick: onElementClick })),
136
+ receiptModalShow ? /* @__PURE__ */ import_react.default.createElement(
137
+ import_materials.PisellModal,
138
+ {
139
+ open: receiptModalShow,
140
+ onCancel: onCloseReceiptModal,
141
+ maskClosable: true,
142
+ footer: null
143
+ },
144
+ /* @__PURE__ */ import_react.default.createElement(
145
+ "div",
146
+ {
147
+ style: {
148
+ padding: "16px",
149
+ display: "flex",
150
+ alignItems: "center",
151
+ justifyContent: "center"
152
+ }
153
+ },
154
+ /* @__PURE__ */ import_react.default.createElement(
155
+ "span",
156
+ {
157
+ style: {
158
+ display: "inline-block",
159
+ whiteSpace: "pre-wrap",
160
+ fontFamily: "monospace",
161
+ backgroundColor: "#fff"
162
+ }
163
+ },
164
+ receiptModalData
165
+ )
166
+ )
167
+ ) : null
168
+ );
169
+ };
170
+ var SettlementModal_default = SettlementModal;
@@ -0,0 +1,33 @@
1
+ .pisell-eftpos-settlement-modal {
2
+ width: 100%;
3
+ min-height: 300px;
4
+ padding: 24px 0;
5
+ display: flex;
6
+ flex-direction: column;
7
+ align-items: center;
8
+ justify-content: center;
9
+ }
10
+
11
+ .pisell-eftpos-settlement-modal-step-item {
12
+ color: var(--gray-true-900, #141414);
13
+ font-size: 16px;
14
+ font-weight: 400;
15
+ }
16
+
17
+ .pisell-eftpos-settlement-modal-step-item-tip {
18
+ color: var(--gray-500, #667085);
19
+ font-size: 14px;
20
+ font-weight: 400;
21
+ }
22
+
23
+ .pisell-eftpos-settlement-modal-step-item-btns {
24
+ margin: 24px 0 0 0;
25
+ display: flex;
26
+ gap: 12px;
27
+ flex-shrink: 0;
28
+ }
29
+
30
+ .pisell-eftpos-settlement-modal-step-item-btn {
31
+ flex: 1;
32
+ height: 48px !important;
33
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 结算发起接口
3
+ */
4
+ export declare const settlementApi: (data: any, config: any) => Promise<any>;
5
+ /**
6
+ * 结算查询接口
7
+ */
8
+ export declare const settlementQueryApi: (id: string, data: any, config: any) => Promise<any>;