@feedmepos/mf-payment 0.0.0-beta.9 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. package/dist/AdminLayout.vue_vue_type_script_setup_true_lang-BTmMOzwx.js +39 -0
  2. package/dist/AsyncButton.vue_vue_type_script_setup_true_lang-DcjzvYwT.js +42 -0
  3. package/dist/AutoCopyCell.vue_vue_type_script_setup_true_lang-GXPXBEf5.js +40 -0
  4. package/dist/Modal-DB8M9o1T.js +13 -0
  5. package/dist/PayoutAccount-DZaKHWcy.js +612 -0
  6. package/dist/{PayoutAccount-DLhMMlw_.js → PayoutAccount-Dc1CYQ0W.js} +38 -35
  7. package/dist/PayoutAccountSetting-BzmNuLFj.js +780 -0
  8. package/dist/RestaurantSelector.vue_vue_type_script_setup_true_lang-CY4ttpKj.js +33 -0
  9. package/dist/Settlement-Bx3zAkIw.js +195 -0
  10. package/dist/Settlement-mwnO-iYH.js +150 -0
  11. package/dist/{SettlementTransactions-CoEzdtYT.js → SettlementTransactions-AaYyTH96.js} +99 -105
  12. package/dist/{SettlementTransactions-Dl1H4jvh.js → SettlementTransactions-D_SVuKyR.js} +117 -130
  13. package/dist/Terminal-68OQnhM3.js +372 -0
  14. package/dist/TerminalSetting-DEFim0xg.js +379 -0
  15. package/dist/TerminalTransaction-CQjNdffr.js +426 -0
  16. package/dist/TerminalTransaction-ClihmWOJ.js +250 -0
  17. package/dist/Transaction-68L7JzIk.js +242 -0
  18. package/dist/Transaction-a1VfiCP_.js +405 -0
  19. package/dist/api/index.d.ts +14 -0
  20. package/dist/api/pagination.d.ts +20 -0
  21. package/dist/api/payment-gateway/index.d.ts +9 -0
  22. package/dist/api/settlement/index.d.ts +12 -13
  23. package/dist/api/terminal/index.d.ts +13 -1
  24. package/dist/api/terminal-transaction/index.d.ts +12 -1
  25. package/dist/api/transaction/index.d.ts +7 -2
  26. package/dist/app-C9FRsUfb.js +6343 -0
  27. package/dist/app.js +3 -198
  28. package/dist/assets-Bji7O2YD.js +45 -0
  29. package/dist/clipboard-4jh1WteU.js +10 -0
  30. package/dist/components/AsyncButton.vue.d.ts +21 -0
  31. package/dist/components/AutoCopyCell.vue.d.ts +6 -0
  32. package/dist/components/CursorTable/index.vue.d.ts +24 -5
  33. package/dist/components/RestaurantSelector.vue.d.ts +2 -0
  34. package/dist/components/RouteCell.vue.d.ts +8 -0
  35. package/dist/helpers/assets.d.ts +2 -0
  36. package/dist/index-Bt_OgDYn.js +56107 -0
  37. package/dist/index-CLYePgWW.js +47 -0
  38. package/dist/{index-CF56zGyu.js → index-DBfZnaV1.js} +1 -1
  39. package/dist/index-DSuZG0l6.js +52 -0
  40. package/dist/{index-Bmka-1lQ.js → index-DjDGwRX8.js} +1 -1
  41. package/dist/index-_0TroOJr.js +127 -0
  42. package/dist/index.vue_vue_type_script_setup_true_lang-Jlcg1hAB.js +167 -0
  43. package/dist/model/transaction.d.ts +2 -1
  44. package/dist/package.json +4 -4
  45. package/dist/payout-account-BWcq7OJy.js +1805 -0
  46. package/dist/stores/payoutAccount.d.ts +4 -4
  47. package/dist/transaction-DqrhM5jB.js +87 -0
  48. package/dist/tsconfig.app.tsbuildinfo +1 -1
  49. package/dist/validator-D5jtpt9A.js +2877 -0
  50. package/dist/views/admin/payout-account/tabs/Information.vue.d.ts +4 -4
  51. package/dist/views/admin/payout-account/tabs/PaymentGateway.vue.d.ts +81 -0
  52. package/dist/views/admin/payout-account/tabs/PaymentStatus.vue.d.ts +4 -4
  53. package/dist/views/admin/payout-account/tabs/Settlement.vue.d.ts +4 -4
  54. package/dist/views/admin/payout-account/tabs/gateway/FiuuGateway.vue.d.ts +56 -0
  55. package/dist/views/admin/payout-account/tabs/gateway/GhlGateway.vue.d.ts +50 -0
  56. package/dist/views/admin/payout-account/tabs/gateway/RevenueMonsterGateway.vue.d.ts +52 -0
  57. package/dist/views/admin/settlement/SettlementTable.vue.d.ts +12 -12
  58. package/dist/views/admin/terminal/TerminalDialog.vue.d.ts +83 -0
  59. package/dist/views/admin/terminal/TerminalSetting.vue.d.ts +12 -0
  60. package/dist/views/admin/terminal/cell/Actions.vue.d.ts +80 -9
  61. package/dist/views/admin/terminal/tabs/FiuuGateway.vue.d.ts +94 -0
  62. package/dist/views/admin/terminal/tabs/GhlGateway.vue.d.ts +94 -0
  63. package/dist/views/admin/terminal/tabs/Information.vue.d.ts +85 -0
  64. package/dist/views/admin/terminal/tabs/TerminalGateway.vue.d.ts +94 -0
  65. package/dist/views/admin/terminal-transaction/cell/Actions.vue.d.ts +7 -0
  66. package/dist/views/admin/transaction/TransactionTable.vue.d.ts +6 -2
  67. package/dist/views/admin/transaction/cell/Actions.vue.d.ts +7 -0
  68. package/dist/views/payout-account/PayoutAccountTable.vue.d.ts +8 -8
  69. package/dist/views/settlement/SettlementTable.vue.d.ts +12 -12
  70. package/dist/views/terminal-transaction/TerminalTransaction.vue.d.ts +2 -0
  71. package/dist/views/terminal-transaction/cell/Gateway.vue.d.ts +9 -0
  72. package/dist/views/terminal-transaction/cell/Status.vue.d.ts +9 -0
  73. package/package.json +4 -4
  74. package/dist/AdminLayout.vue_vue_type_script_setup_true_lang-oPYFBeEo.js +0 -42
  75. package/dist/PayoutAccount-xxSxqBTL.js +0 -3485
  76. package/dist/PayoutAccountSetting-CIeos0md.js +0 -425
  77. package/dist/Settlement-BVGACeme.js +0 -136
  78. package/dist/Settlement-Ce48KHrc.js +0 -132
  79. package/dist/Terminal-ByKV2Rof.js +0 -204
  80. package/dist/TerminalTransaction-RuSxBAxf.js +0 -240
  81. package/dist/Transaction-CYo-uLQi.js +0 -241
  82. package/dist/Transaction-Cjw9WwX8.js +0 -242
  83. package/dist/api/auth/index.d.ts +0 -7
  84. package/dist/assets-BuLGUMIx.js +0 -472
  85. package/dist/index-Coz5aeIO.js +0 -61
  86. package/dist/index-DCPNrUDq.js +0 -40075
  87. package/dist/index.vue_vue_type_script_setup_true_lang-CAR-bNaR.js +0 -150
  88. package/dist/mascot-side-3VXskf9y.js +0 -4
  89. package/dist/payout-account-iAM7HPtG.js +0 -3317
  90. package/dist/transaction-vRrBf3FN.js +0 -64
@@ -1,204 +0,0 @@
1
- import { defineComponent as d, openBlock as m, createElementBlock as y, createTextVNode as T, createElementVNode as c, toDisplayString as v, resolveComponent as f, createBlock as x, normalizeClass as b, withCtx as C, Fragment as D, createVNode as l, ref as I, watch as K, unref as p, isRef as $, h as _ } from "vue";
2
- import { g as F, b as g, a as S } from "./index-DCPNrUDq.js";
3
- import { h as V } from "./moment-h96o7c8I.js";
4
- import { u as N } from "./index-Bmka-1lQ.js";
5
- import { _ as Y } from "./index.vue_vue_type_script_setup_true_lang-CAR-bNaR.js";
6
- import { _ as E } from "./AdminLayout.vue_vue_type_script_setup_true_lang-oPYFBeEo.js";
7
- import { useDialog as P } from "@feedmepos/ui-library";
8
- const h = {
9
- async read(n) {
10
- return F(
11
- await g().get("/payments/terminals", {
12
- params: { ...n }
13
- })
14
- );
15
- },
16
- async getBindCode(n) {
17
- const { code: o } = S(
18
- await g().get(`/payments/terminals/${n}/code`)
19
- );
20
- return o;
21
- }
22
- }, R = { class: "t-caption" }, L = { class: "t-h1 my-6 text-center" }, M = /* @__PURE__ */ d({
23
- __name: "TerminalBindCodeDialog",
24
- props: {
25
- code: {
26
- type: String,
27
- required: !0
28
- }
29
- },
30
- setup(n) {
31
- return (o, a) => (m(), y("div", R, [
32
- a[0] || (a[0] = T(" Enter the binding code below on your device to link it with this terminal and apply the configuration. ")),
33
- c("div", L, v(n.code), 1)
34
- ]));
35
- }
36
- }), Q = /* @__PURE__ */ d({
37
- __name: "ID",
38
- props: {
39
- row: {},
40
- data: {}
41
- },
42
- setup(n) {
43
- const o = n;
44
- function a() {
45
- return o.row.original.status === "Active" ? "!w-[16px] !h-[16px] bg-green-400" : "!w-[16px] !h-[16px] bg-red-400";
46
- }
47
- return (i, t) => {
48
- const r = f("FmBadge");
49
- return m(), x(r, {
50
- inline: "",
51
- class: b(a())
52
- }, {
53
- default: C(() => [
54
- c("div", null, v(i.data), 1)
55
- ]),
56
- _: 1
57
- }, 8, ["class"]);
58
- };
59
- }
60
- }), U = /* @__PURE__ */ d({
61
- __name: "Actions",
62
- props: {
63
- row: {},
64
- data: {}
65
- },
66
- emits: ["link", "edit"],
67
- setup(n, { emit: o }) {
68
- const a = o;
69
- return (i, t) => {
70
- const r = f("FmButton");
71
- return m(), y(D, null, [
72
- l(r, {
73
- variant: "plain",
74
- "prepend-icon": "link",
75
- onClick: t[0] || (t[0] = () => a("link", i.data))
76
- }),
77
- l(r, {
78
- variant: "plain",
79
- "prepend-icon": "edit",
80
- onClick: t[1] || (t[1] = () => a("edit", i.data))
81
- })
82
- ], 64);
83
- };
84
- }
85
- }), j = { class: "flex justify-between mb-6 items-center" }, q = { class: "flex space-x-4" }, Z = /* @__PURE__ */ d({
86
- __name: "Terminal",
87
- setup(n) {
88
- const o = P();
89
- async function a(e) {
90
- const s = await h.getBindCode(e);
91
- o.open({
92
- title: "Terminal Bind Code",
93
- closeButton: !0,
94
- overlay: !0,
95
- contentComponent: M,
96
- contentComponentProps: { code: s }
97
- });
98
- }
99
- const i = I(), { searchKey: t } = N({
100
- searchKey: ""
101
- });
102
- let r;
103
- K(t, async () => {
104
- r && clearTimeout(r), r = setTimeout(
105
- () => {
106
- var e;
107
- return (e = i.value) == null ? void 0 : e.refreshQuery();
108
- },
109
- 700
110
- );
111
- });
112
- const w = function(e) {
113
- return {
114
- id: e._id,
115
- status: e.status,
116
- referenceId: e.referenceId,
117
- name: e.name,
118
- deviceId: e.deviceId,
119
- updatedAt: V(e.updatedAt).format("YYYY-MM-DD hh:mm:ss")
120
- };
121
- }, B = [
122
- {
123
- accessorKey: "id",
124
- header: () => "Terminal ID",
125
- meta: {
126
- textAlign: "right"
127
- },
128
- cell: ({ cell: e, row: s }) => _(Q, { row: s, data: e.getValue() })
129
- },
130
- {
131
- accessorKey: "name",
132
- header: () => "Name",
133
- meta: {
134
- textAlign: "left"
135
- }
136
- },
137
- {
138
- accessorKey: "referenceId",
139
- header: () => "Reference",
140
- meta: {
141
- textAlign: "left"
142
- }
143
- },
144
- {
145
- accessorKey: "deviceId",
146
- header: () => "Bound Device Id",
147
- meta: {
148
- textAlign: "left"
149
- }
150
- },
151
- {
152
- accessorKey: "updatedAt",
153
- header: () => "Last Updated",
154
- meta: {
155
- textAlign: "left"
156
- }
157
- },
158
- {
159
- accessorKey: "id",
160
- header: () => "Actions",
161
- meta: {
162
- textAlign: "center"
163
- },
164
- cell: ({ cell: e, row: s }) => _(U, {
165
- row: s,
166
- data: e.getValue(),
167
- onLink: a
168
- })
169
- }
170
- ];
171
- return (e, s) => {
172
- const k = f("FmSearch");
173
- return m(), x(E, {
174
- title: "Terminals",
175
- loading: !1
176
- }, {
177
- default: C(() => [
178
- c("div", j, [
179
- c("div", q, [
180
- l(k, {
181
- "model-value": p(t),
182
- "onUpdate:modelValue": s[0] || (s[0] = (u) => $(t) ? t.value = u : null),
183
- class: "mr-8",
184
- label: "Search",
185
- placeholder: "Search Terminals ..."
186
- }, null, 8, ["model-value"])
187
- ])
188
- ]),
189
- l(Y, {
190
- ref_key: "controller",
191
- ref: i,
192
- "column-defs": B,
193
- "rows-defs": w,
194
- paginate: (u, A) => p(h).read({ searchKey: p(t), limit: u, cursor: A })
195
- }, null, 8, ["paginate"])
196
- ]),
197
- _: 1
198
- });
199
- };
200
- }
201
- });
202
- export {
203
- Z as default
204
- };
@@ -1,240 +0,0 @@
1
- import { defineComponent as A, resolveComponent as m, openBlock as g, createBlock as h, unref as s, normalizeClass as O, withCtx as y, createElementVNode as _, toDisplayString as E, ref as v, watch as N, createVNode as d, isRef as f, h as x } from "vue";
2
- import { c as o, g as D, b as k } from "./index-DCPNrUDq.js";
3
- import { h as T } from "./moment-h96o7c8I.js";
4
- import { u as K } from "./index-Bmka-1lQ.js";
5
- import { _ as V } from "./index.vue_vue_type_script_setup_true_lang-CAR-bNaR.js";
6
- import { _ as M } from "./AdminLayout.vue_vue_type_script_setup_true_lang-oPYFBeEo.js";
7
- import "@feedmepos/ui-library";
8
- import { g as L } from "./assets-BuLGUMIx.js";
9
- import { d as B } from "./dinero-CIVmXLL-.js";
10
- const P = /* @__PURE__ */ A({
11
- __name: "Gateway",
12
- props: {
13
- row: {},
14
- data: {}
15
- },
16
- setup(i) {
17
- return (a, n) => {
18
- const r = m("FmThumbnail");
19
- return g(), h(r, {
20
- src: s(L)(a.row.original.gateway),
21
- class: "mr-2 border-transparent w-[32px] h-[32px]"
22
- }, null, 8, ["src"]);
23
- };
24
- }
25
- }), $ = /* @__PURE__ */ A({
26
- __name: "Status",
27
- props: {
28
- row: {},
29
- data: {}
30
- },
31
- setup(i) {
32
- const a = i;
33
- function n() {
34
- return a.data === o.F_TERMINAL_TRANSACTION_ACTION.Enum.process ? "!w-[16px] !h-[16px] bg-yellow-400" : a.data === o.F_TERMINAL_TRANSACTION_ACTION.Enum.failed ? "!w-[16px] !h-[16px] bg-red-400" : a.data === o.F_TERMINAL_TRANSACTION_ACTION.Enum.refunded ? "!w-[16px] !h-[16px] bg-blue-400" : "!w-[16px] !h-[16px] bg-green-400";
35
- }
36
- return (r, c) => {
37
- const u = m("FmBadge");
38
- return g(), h(u, {
39
- inline: "",
40
- class: O(n())
41
- }, {
42
- default: y(() => [
43
- _("div", null, E(r.data.toUpperCase()), 1)
44
- ]),
45
- _: 1
46
- }, 8, ["class"]);
47
- };
48
- }
49
- }), U = {
50
- async readTransactions(i) {
51
- return D(
52
- await k().get("/payments/terminal-transactions", {
53
- params: i
54
- })
55
- );
56
- }
57
- }, Y = { class: "flex justify-between mb-6 items-start" }, G = { class: "flex space-x-4 items-start" }, Q = { class: "flex space-x-4" }, te = /* @__PURE__ */ A({
58
- __name: "TerminalTransaction",
59
- setup(i) {
60
- const a = v(), { dateRange: n, status: r, searchKey: c } = K({
61
- searchKey: "",
62
- status: [o.F_TERMINAL_TRANSACTION_ACTION.Enum.success],
63
- dateRange: {
64
- startDate: T().startOf("day").toISOString(),
65
- endDate: T().endOf("day").toISOString()
66
- }
67
- });
68
- N([n, r], () => {
69
- var e;
70
- return (e = a.value) == null ? void 0 : e.refreshQuery();
71
- });
72
- let u;
73
- N(c, async () => {
74
- u && clearTimeout(u), u = setTimeout(
75
- () => {
76
- var e;
77
- return (e = a.value) == null ? void 0 : e.refreshQuery();
78
- },
79
- 700
80
- );
81
- });
82
- const w = [
83
- {
84
- label: "Success",
85
- value: o.F_TERMINAL_TRANSACTION_ACTION.Enum.success
86
- },
87
- {
88
- label: "Refunded",
89
- value: o.F_TERMINAL_TRANSACTION_ACTION.Enum.refunded
90
- },
91
- {
92
- label: "Process",
93
- value: o.F_TERMINAL_TRANSACTION_ACTION.Enum.process
94
- },
95
- {
96
- label: "Failed",
97
- value: o.F_TERMINAL_TRANSACTION_ACTION.Enum.failed
98
- }
99
- ], R = function(e) {
100
- const t = e;
101
- let p = "-";
102
- return t.details.amount && (p = B(t.details.amount).toFormat("$0.00")), {
103
- id: e._id,
104
- refId: e.refId,
105
- owner: e.owner,
106
- terminalId: e.terminalId,
107
- transactionAt: T(e.transactionAt).format("YYYY-MM-DD hh:mm:ss"),
108
- action: e.action,
109
- gateway: e.gateway,
110
- amount: p
111
- };
112
- }, C = [
113
- {
114
- accessorKey: "id",
115
- header: () => "Transaction ID",
116
- meta: {
117
- textAlign: "left"
118
- }
119
- },
120
- {
121
- accessorKey: "refId",
122
- header: () => "Reference ID",
123
- meta: {
124
- textAlign: "left"
125
- }
126
- },
127
- {
128
- accessorKey: "gateway",
129
- header: () => "Gateway",
130
- meta: {
131
- textAlign: "center",
132
- maxWidth: "128px"
133
- },
134
- cell: ({ cell: e, row: t }) => x(P, { row: t, data: e.getValue() })
135
- },
136
- {
137
- accessorKey: "action",
138
- header: () => "Status",
139
- meta: {
140
- textAlign: "left",
141
- maxWidth: "128px"
142
- },
143
- cell: ({ cell: e, row: t }) => x($, { row: t, data: e.getValue() })
144
- },
145
- {
146
- accessorKey: "amount",
147
- header: () => "Sales Amount",
148
- meta: {
149
- textAlign: "center"
150
- }
151
- },
152
- {
153
- accessorKey: "owner",
154
- header: () => "Reference",
155
- meta: {
156
- textAlign: "left"
157
- }
158
- },
159
- {
160
- accessorKey: "terminalId",
161
- header: () => "Terminal ID",
162
- meta: {
163
- textAlign: "left"
164
- }
165
- },
166
- {
167
- accessorKey: "transactionAt",
168
- header: () => "Transaction At",
169
- meta: {
170
- textAlign: "left"
171
- }
172
- }
173
- ];
174
- return (e, t) => {
175
- const p = m("FmSearch"), I = m("FmSelect"), S = m("FmDateRangePicker"), F = m("FmButton");
176
- return g(), h(M, {
177
- title: "Terminal Transactions",
178
- loading: !1
179
- }, {
180
- default: y(() => [
181
- _("div", Y, [
182
- _("div", G, [
183
- d(p, {
184
- "model-value": s(c),
185
- "onUpdate:modelValue": t[0] || (t[0] = (l) => f(c) ? c.value = l : null),
186
- class: "mr-8",
187
- label: "Search",
188
- placeholder: "Search Transactions ..."
189
- }, null, 8, ["model-value"]),
190
- d(I, {
191
- modelValue: s(r),
192
- "onUpdate:modelValue": t[1] || (t[1] = (l) => f(r) ? r.value = l : null),
193
- class: "mr-6 w-[300px]",
194
- label: "Status",
195
- "label-mark": "required",
196
- multiselect: "",
197
- items: w
198
- }, null, 8, ["modelValue"]),
199
- d(S, {
200
- modelValue: s(n),
201
- "onUpdate:modelValue": t[2] || (t[2] = (l) => f(n) ? n.value = l : null),
202
- compare: "",
203
- "show-predefined-range": ""
204
- }, null, 8, ["modelValue"])
205
- ]),
206
- _("div", Q, [
207
- d(F, {
208
- "append-icon": "file_download",
209
- variant: "primary",
210
- label: "Export",
211
- onClick: () => {
212
- }
213
- })
214
- ])
215
- ]),
216
- d(V, {
217
- ref_key: "controller",
218
- ref: a,
219
- "column-defs": C,
220
- "rows-defs": R,
221
- paginate: (l, b) => s(U).readTransactions({
222
- status: s(r),
223
- searchKey: s(c),
224
- limit: l,
225
- cursor: b,
226
- start: s(n).startDate,
227
- end: s(n).endDate
228
- }),
229
- onRowClick: () => {
230
- }
231
- }, null, 8, ["paginate"])
232
- ]),
233
- _: 1
234
- });
235
- };
236
- }
237
- });
238
- export {
239
- te as default
240
- };
@@ -1,241 +0,0 @@
1
- import { defineComponent as _, resolveComponent as s, openBlock as g, createBlock as f, normalizeClass as D, withCtx as R, createElementVNode as w, toDisplayString as O, unref as i, ref as N, h as F, onMounted as C, watch as b, createVNode as T, isRef as E } from "vue";
2
- import { t as K, a as V } from "./transaction-vRrBf3FN.js";
3
- import { e as A, u as k } from "./index-DCPNrUDq.js";
4
- import "@feedmepos/ui-library";
5
- import "./dinero-CIVmXLL-.js";
6
- import { h as I } from "./moment-h96o7c8I.js";
7
- import { g as P, a as B } from "./assets-BuLGUMIx.js";
8
- import { useCoreStore as L } from "@feedmepos/mf-common";
9
- import { _ as M } from "./Layout.vue_vue_type_script_setup_true_lang-DJm5br5a.js";
10
- import { u as U } from "./index-Bmka-1lQ.js";
11
- const $ = /* @__PURE__ */ _({
12
- __name: "Status",
13
- props: {
14
- row: {},
15
- data: {}
16
- },
17
- setup(l) {
18
- const t = l;
19
- function a() {
20
- return t.data === A.F_PAYMENT_TRANSACTION_STATUS.Enum.PENDING ? "!w-[16px] !h-[16px] bg-yellow-400" : t.data === A.F_PAYMENT_TRANSACTION_STATUS.Enum.FAILED ? "!w-[16px] !h-[16px] bg-red-400" : t.data === A.F_PAYMENT_TRANSACTION_STATUS.Enum.REFUNDED ? "!w-[16px] !h-[16px] bg-blue-400" : "!w-[16px] !h-[16px] bg-green-400";
21
- }
22
- return (r, u) => {
23
- const d = s("FmBadge");
24
- return g(), f(d, {
25
- inline: "",
26
- class: D(a())
27
- }, {
28
- default: R(() => [
29
- w("div", null, O(r.data), 1)
30
- ]),
31
- _: 1
32
- }, 8, ["class"]);
33
- };
34
- }
35
- }), G = /* @__PURE__ */ _({
36
- __name: "Gateway",
37
- props: {
38
- row: {},
39
- data: {}
40
- },
41
- setup(l) {
42
- return (t, a) => {
43
- const r = s("FmThumbnail");
44
- return g(), f(r, {
45
- src: i(P)(t.row.original.gateway),
46
- class: "mr-2 border-transparent w-[32px] h-[32px]"
47
- }, null, 8, ["src"]);
48
- };
49
- }
50
- }), Y = /* @__PURE__ */ _({
51
- __name: "Method",
52
- props: {
53
- row: {},
54
- data: {}
55
- },
56
- setup(l) {
57
- return (t, a) => {
58
- const r = s("FmThumbnail");
59
- return g(), f(r, {
60
- src: i(B)(t.row.original.method.issuer),
61
- class: "mr-2 border-transparent w-[32px] h-[32px]"
62
- }, null, 8, ["src"]);
63
- };
64
- }
65
- }), q = /* @__PURE__ */ _({
66
- __name: "TransactionTable",
67
- props: {
68
- data: {
69
- type: Array,
70
- required: !0
71
- },
72
- loading: {
73
- type: Boolean,
74
- required: !0
75
- }
76
- },
77
- emits: ["row-click"],
78
- setup(l, { emit: t }) {
79
- const a = l, r = t, u = N(""), d = [
80
- {
81
- header: () => "Transaction ID",
82
- accessorKey: "id"
83
- },
84
- {
85
- header: () => "Pay ID",
86
- accessorKey: "payId"
87
- },
88
- {
89
- header: () => "Gateway",
90
- accessorKey: "gateway",
91
- meta: {
92
- textAlign: "center"
93
- },
94
- cell: ({ cell: n, row: e }) => e.original.method ? F(G, { row: e, data: n.getValue() }) : ""
95
- },
96
- {
97
- header: () => "Method",
98
- accessorKey: "method",
99
- meta: {
100
- textAlign: "center"
101
- },
102
- cell: ({ cell: n, row: e }) => e.original.method ? F(Y, { row: e, data: n.getValue() }) : ""
103
- },
104
- {
105
- header: () => "Type",
106
- accessorKey: "type",
107
- meta: {
108
- textAlign: "center"
109
- },
110
- cell: ({ row: n }) => {
111
- if (!n.original.method)
112
- return "";
113
- const e = n.original.method.variant;
114
- return e.includes("_ONLINE") ? "ONLINE" : e.includes("_OFFLINE") ? "OFFLINE" : e;
115
- }
116
- },
117
- {
118
- header: () => "Status",
119
- accessorKey: "status",
120
- cell: ({ cell: n, row: e }) => F($, { row: e, data: n.getValue() })
121
- },
122
- {
123
- header: () => "Transaction At",
124
- accessorKey: "transactionAt",
125
- meta: {
126
- width: "180px"
127
- }
128
- },
129
- {
130
- header: () => "Sales Amount",
131
- accessorKey: "amount"
132
- },
133
- {
134
- header: () => "Fee",
135
- accessorKey: "fee"
136
- },
137
- {
138
- header: () => "Settlement Amount",
139
- accessorKey: "payout"
140
- }
141
- ];
142
- return (n, e) => {
143
- const h = s("FmTable");
144
- return g(), f(h, {
145
- modelValue: u.value,
146
- "onUpdate:modelValue": e[0] || (e[0] = (c) => u.value = c),
147
- "column-defs": d,
148
- "row-data": a.data,
149
- loading: a.loading,
150
- onRowClick: e[1] || (e[1] = (c) => r("row-click", a.data.at(c.index)))
151
- }, null, 8, ["modelValue", "row-data", "loading"]);
152
- };
153
- }
154
- }), J = { class: "flex justify-between mb-6 items-center" }, j = { class: "flex space-x-4" }, z = { class: "flex space-x-4" }, oe = /* @__PURE__ */ _({
155
- __name: "Transaction",
156
- setup(l) {
157
- const { dateRange: t, searchKey: a } = U({
158
- searchKey: "",
159
- dateRange: {
160
- startDate: I().startOf("day").toISOString(),
161
- endDate: I().endOf("day").toISOString()
162
- }
163
- }), { isLoading: r, startAsyncCall: u } = k(!0), { currentRestaurant: d } = L(), n = N([]), e = N([]);
164
- async function h() {
165
- await u(async () => {
166
- const { startDate: y, endDate: o } = t.value, m = await K.readRestaurantTransactions({
167
- start: y,
168
- end: o
169
- });
170
- if (n.value = V(m), e.value = n.value, a.value > "") {
171
- var v = new RegExp(a.value, "i");
172
- e.value = n.value.filter((S) => {
173
- const p = JSON.stringify(S);
174
- return v.test(p);
175
- });
176
- }
177
- });
178
- }
179
- function c() {
180
- h();
181
- }
182
- C(c), b(d, c);
183
- let x;
184
- return b(a, async () => {
185
- x && clearTimeout(x), x = setTimeout(() => {
186
- var y = new RegExp(a.value, "i");
187
- e.value = n.value.filter((o) => {
188
- const m = JSON.stringify(o);
189
- return y.test(m);
190
- });
191
- }, 700);
192
- }), (y, o) => {
193
- const m = s("FmSearch"), v = s("FmDateRangePicker"), S = s("FmButton");
194
- return g(), f(M, {
195
- title: "Transactions",
196
- description: "Transactions are purchases or payments made over the internet using electronic methods like cards or digital wallets.",
197
- loading: i(r)
198
- }, {
199
- default: R(() => [
200
- w("div", J, [
201
- w("div", j, [
202
- T(m, {
203
- "model-value": i(a),
204
- "onUpdate:modelValue": o[0] || (o[0] = (p) => E(a) ? a.value = p : null),
205
- class: "mr-8",
206
- label: "Search",
207
- placeholder: "Search Transactions ..."
208
- }, null, 8, ["model-value"]),
209
- T(v, {
210
- modelValue: i(t),
211
- "onUpdate:modelValue": [
212
- o[1] || (o[1] = (p) => E(t) ? t.value = p : null),
213
- h
214
- ],
215
- compare: "",
216
- "show-predefined-range": ""
217
- }, null, 8, ["modelValue"])
218
- ]),
219
- w("div", z, [
220
- T(S, {
221
- "append-icon": "file_download",
222
- variant: "primary",
223
- label: "Export",
224
- onClick: () => {
225
- }
226
- })
227
- ])
228
- ]),
229
- T(q, {
230
- loading: i(r),
231
- data: e.value
232
- }, null, 8, ["loading", "data"])
233
- ]),
234
- _: 1
235
- }, 8, ["loading"]);
236
- };
237
- }
238
- });
239
- export {
240
- oe as default
241
- };