@feedmepos/mf-order-setting 0.0.33 → 0.0.34

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 (30) hide show
  1. package/dist/{KioskDevicesView-CxZI99me.js → KioskDevicesView-BHzBoF_O.js} +1 -1
  2. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-EGj4fxeN.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-C5JpMDP_.js} +2 -2
  3. package/dist/KioskSettingView-i8tgH3dF.js +841 -0
  4. package/dist/{KioskView-IUQTvUF8.js → KioskView-DW7vX6rJ.js} +41 -34
  5. package/dist/{OrderSettingsView-VLE9yxNt.js → OrderSettingsView-D3SQHET3.js} +4 -4
  6. package/dist/{app-cd45Ryph.js → app-C15xKXga.js} +16 -10
  7. package/dist/app.js +1 -1
  8. package/dist/{dayjs.min-CRAlrjJy.js → dayjs.min-KE7XM_kc.js} +1 -1
  9. package/dist/frontend/mf-order/src/app.d.ts +6 -0
  10. package/dist/frontend/mf-order/src/main.d.ts +6 -0
  11. package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +12 -0
  12. package/dist/frontend/mf-order/src/stores/order-setting/mapper.d.ts +3 -3
  13. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPaymentTypeSection.vue.d.ts +8 -0
  14. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  15. package/dist/{index-DLWAy-3K.js → index-DGfFxIZo.js} +2 -2
  16. package/dist/{menu.dto-DGDI6XwH.js → menu.dto-CLARGRsi.js} +6 -2
  17. package/dist/package/entity/order/order.enum.d.ts +1 -1
  18. package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +42 -0
  19. package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +32 -0
  20. package/dist/package/entity/order-setting/order-setting.do.d.ts +22 -0
  21. package/dist/package/entity/order-setting/order-setting.dto.d.ts +44 -0
  22. package/dist/package/entity/restaurant/restaurant.dto.d.ts +22 -0
  23. package/dist/package/entity/websocket/websocket.dto.d.ts +48 -0
  24. package/package.json +1 -1
  25. package/src/locales/en-US.json +2 -0
  26. package/src/locales/th-TH.json +2 -0
  27. package/src/locales/zh-CN.json +2 -0
  28. package/src/stores/order-setting/mapper.ts +230 -168
  29. package/src/views/kiosk/settings/KioskPaymentTypeSection.vue +31 -1
  30. package/dist/KioskSettingView-CTDY8__s.js +0 -821
@@ -1,821 +0,0 @@
1
- import { defineComponent as A, resolveComponent as k, createElementBlock as _, openBlock as c, createElementVNode as m, toDisplayString as V, unref as t, Fragment as j, renderList as Q, createVNode as s, computed as C, withDirectives as M, vShow as W, createBlock as q, createCommentVNode as K, ref as N, onMounted as te, withCtx as U, createTextVNode as le } from "vue";
2
- import { useI18n as R } from "@feedmepos/mf-common";
3
- import { F as $, c as P } from "./menu.dto-DGDI6XwH.js";
4
- import { _ as ie, u as de } from "./index-BXsnV_eO.js";
5
- import { useSnackbar as oe } from "@feedmepos/ui-library";
6
- function se(v, g) {
7
- let e = v.toString(), n = g - e.length;
8
- return n > 0 && (e = Array(n + 1).join("0") + e), e;
9
- }
10
- const ue = {
11
- applyPadDigits: se
12
- }, re = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2 my-5 w-11/12" }, pe = { class: "fm-typo-en-title-sm-600" }, G = /* @__PURE__ */ A({
13
- __name: "KioskInstructionSection",
14
- props: {
15
- fields: {}
16
- },
17
- emits: ["update:field"],
18
- setup(v, { emit: g }) {
19
- const { t: e } = R(), n = v, p = g;
20
- function b(l, y) {
21
- p("update:field", l, y);
22
- }
23
- return (l, y) => {
24
- const i = k("FmTextField");
25
- return c(), _("div", re, [
26
- m("span", pe, V(t(e)("order.submitOrderInstruction")), 1),
27
- (c(!0), _(j, null, Q(n.fields, (u) => (c(), _("div", {
28
- class: "flex flex-col gap-10",
29
- key: u.title
30
- }, [
31
- s(i, {
32
- "model-value": u.value,
33
- label: u.title,
34
- placeholder: u.defaultValue,
35
- "onUpdate:modelValue": (S) => b(u.id, S)
36
- }, null, 8, ["model-value", "label", "placeholder", "onUpdate:modelValue"])
37
- ]))), 128))
38
- ]);
39
- };
40
- }
41
- }), me = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2 my-5 w-11/12" }, ce = { class: "fm-typo-en-title-sm-600" }, ye = { class: "flex flex-col gap-10" }, fe = { class: "flex flex-row gap-2" }, ve = /* @__PURE__ */ A({
42
- __name: "KioskDisplayStandSection",
43
- props: {
44
- displayStand: {}
45
- },
46
- emits: ["updateDisplayStand"],
47
- setup(v, { emit: g }) {
48
- const { t: e } = R(), n = v, p = g, b = C(() => {
49
- const o = n.displayStand.submitOrderInstruction;
50
- return [
51
- {
52
- id: "payAtCounter",
53
- value: o.payAtCounter ?? void 0,
54
- title: e("order.payAtCounter"),
55
- defaultValue: "Collect your transaction slip below and present it to the cashier"
56
- },
57
- {
58
- id: "paid",
59
- value: o.paid ?? void 0,
60
- title: e("order.paid"),
61
- defaultValue: "Please collect your receipt and we'll bring your food to your table once it's ready."
62
- }
63
- ];
64
- });
65
- function l(o, a) {
66
- p("updateDisplayStand", {
67
- ...n.displayStand,
68
- submitOrderInstruction: {
69
- ...n.displayStand.submitOrderInstruction,
70
- [o]: a
71
- }
72
- });
73
- }
74
- const y = (o) => o < 0 ? e("order.nonNegativeRule") : !0, i = (o) => o <= (n.displayStand.standSlotRange.min ?? 0) ? e("order.greaterThanMinRule") : !0, u = C(() => [y]), S = C(() => [y]), I = C(() => [y, i]);
75
- C(() => {
76
- const a = ue.applyPadDigits(5, n.displayStand.padDigit ?? 0);
77
- return `Preview: ${n.displayStand.prefix}${a}`;
78
- });
79
- function x(o) {
80
- p("updateDisplayStand", {
81
- ...n.displayStand,
82
- enabled: o
83
- });
84
- }
85
- function w(o) {
86
- o && p("updateDisplayStand", {
87
- ...n.displayStand,
88
- standSlotRange: {
89
- ...n.displayStand.standSlotRange,
90
- min: o
91
- }
92
- });
93
- }
94
- function T(o) {
95
- o && p("updateDisplayStand", {
96
- ...n.displayStand,
97
- standSlotRange: {
98
- ...n.displayStand.standSlotRange,
99
- max: o
100
- }
101
- });
102
- }
103
- function Y(o) {
104
- p("updateDisplayStand", {
105
- ...n.displayStand,
106
- prefix: o
107
- });
108
- }
109
- function B(o) {
110
- o && p("updateDisplayStand", {
111
- ...n.displayStand,
112
- padDigit: o
113
- });
114
- }
115
- return (o, a) => {
116
- const f = k("FmSwitch"), E = k("FmTextField"), F = k("FmStepperField");
117
- return c(), _("div", null, [
118
- s(f, {
119
- "model-value": o.displayStand.enabled,
120
- label: t(e)("order.displayStand"),
121
- "label-placement": "right",
122
- "onUpdate:modelValue": x
123
- }, null, 8, ["model-value", "label"]),
124
- M(m("div", me, [
125
- m("span", ce, V(t(e)("order.tableServiceSetting")), 1),
126
- m("div", ye, [
127
- s(E, {
128
- "model-value": o.displayStand.prefix,
129
- label: t(e)("order.prefix"),
130
- placeholder: t(e)("order.prefix"),
131
- "onUpdate:modelValue": Y
132
- }, null, 8, ["model-value", "label", "placeholder"])
133
- ]),
134
- m("div", fe, [
135
- s(F, {
136
- class: "w-1/2",
137
- "model-value": o.displayStand.standSlotRange.min,
138
- label: t(e)("order.start"),
139
- labelMark: "required",
140
- rules: S.value,
141
- placeholder: t(e)("order.enterANumber"),
142
- "onUpdate:modelValue": w
143
- }, null, 8, ["model-value", "label", "rules", "placeholder"]),
144
- s(F, {
145
- class: "w-1/2",
146
- "model-value": o.displayStand.standSlotRange.max,
147
- label: t(e)("order.end"),
148
- labelMark: "required",
149
- rules: I.value,
150
- placeholder: t(e)("order.enterANumber"),
151
- "onUpdate:modelValue": T
152
- }, null, 8, ["model-value", "label", "rules", "placeholder"])
153
- ]),
154
- m("div", null, [
155
- s(F, {
156
- "model-value": o.displayStand.padDigit,
157
- label: t(e)("order.padDigit"),
158
- labelMark: "required",
159
- rules: u.value,
160
- placeholder: t(e)("order.padDigit"),
161
- "onUpdate:modelValue": B
162
- }, null, 8, ["model-value", "label", "rules", "placeholder"])
163
- ])
164
- ], 512), [
165
- [W, o.displayStand.enabled]
166
- ]),
167
- M(s(G, {
168
- fields: b.value,
169
- "onUpdate:field": l
170
- }, null, 8, ["fields"]), [
171
- [W, o.displayStand.enabled]
172
- ])
173
- ]);
174
- };
175
- }
176
- }), be = /* @__PURE__ */ A({
177
- __name: "KioskPickAtCounterSection",
178
- props: {
179
- form: {}
180
- },
181
- emits: ["update-pick-up"],
182
- setup(v, { emit: g }) {
183
- const { t: e } = R(), n = v, p = g, b = C(() => [
184
- {
185
- id: "payAtCounter",
186
- value: n.form.submitOrderInstruction.payAtCounter ?? void 0,
187
- title: e("order.payAtCounter"),
188
- defaultValue: "Collect your transaction slip below and present it to the cashier"
189
- },
190
- {
191
- id: "paid",
192
- value: n.form.submitOrderInstruction.paid ?? void 0,
193
- title: e("order.paid"),
194
- defaultValue: "Please wait as we prepare your food. We'll call your number when it's ready."
195
- }
196
- ]);
197
- function l(i) {
198
- p("update-pick-up", {
199
- ...n.form,
200
- enabled: i
201
- });
202
- }
203
- function y(i, u) {
204
- p("update-pick-up", {
205
- ...n.form,
206
- submitOrderInstruction: {
207
- ...n.form.submitOrderInstruction,
208
- [i]: u
209
- }
210
- });
211
- }
212
- return (i, u) => {
213
- const S = k("FmSwitch");
214
- return c(), _("div", null, [
215
- s(S, {
216
- "model-value": i.form.enabled,
217
- label: t(e)("order.pickAtCounter"),
218
- "label-placement": "right",
219
- "onUpdate:modelValue": l
220
- }, null, 8, ["model-value", "label"]),
221
- M(s(G, {
222
- fields: b.value,
223
- "onUpdate:field": y
224
- }, null, 8, ["fields"]), [
225
- [W, i.form.enabled]
226
- ])
227
- ]);
228
- };
229
- }
230
- }), Se = { class: "flex flex-col gap-5" }, ge = { class: "flex flex-col gap-16" }, Pe = { class: "flex flex-col gap-16" }, _e = /* @__PURE__ */ A({
231
- __name: "KioskDineInSection",
232
- props: {
233
- v: {}
234
- },
235
- emits: ["updateDineIn"],
236
- setup(v, { emit: g }) {
237
- const { t: e } = R();
238
- function n(i) {
239
- y("updateDineIn", {
240
- ...l.v,
241
- pickUp: i
242
- });
243
- }
244
- function p(i) {
245
- y("updateDineIn", {
246
- ...l.v,
247
- displayStand: i
248
- });
249
- }
250
- function b(i) {
251
- y("updateDineIn", {
252
- ...l.v,
253
- enabled: i
254
- });
255
- }
256
- const l = v, y = g;
257
- return (i, u) => {
258
- const S = k("FmSwitch");
259
- return c(), _("div", Se, [
260
- m("div", ge, [
261
- s(S, {
262
- "model-value": i.v.enabled,
263
- label: t(e)("order.dineIn"),
264
- "label-placement": "right",
265
- "onUpdate:modelValue": b
266
- }, null, 8, ["model-value", "label"]),
267
- M(m("div", Pe, [
268
- i.v.pickUp ? (c(), q(be, {
269
- key: 0,
270
- form: i.v.pickUp,
271
- onUpdatePickUp: n
272
- }, null, 8, ["form"])) : K("", !0),
273
- i.v.displayStand ? (c(), q(ve, {
274
- key: 1,
275
- "display-stand": i.v.displayStand,
276
- onUpdateDisplayStand: p
277
- }, null, 8, ["display-stand"])) : K("", !0)
278
- ], 512), [
279
- [W, i.v.enabled]
280
- ])
281
- ])
282
- ]);
283
- };
284
- }
285
- }), he = /* @__PURE__ */ A({
286
- __name: "KioskTakeawaySection",
287
- props: {
288
- v: {}
289
- },
290
- emits: ["updateTakeaway"],
291
- setup(v, { emit: g }) {
292
- const { t: e } = R(), n = v, p = g, b = C(() => [
293
- {
294
- id: "payAtCounter",
295
- value: n.v.submitOrderInstruction.payAtCounter ?? void 0,
296
- title: e("order.payAtCounter"),
297
- defaultValue: "Collect your transaction slip below and present it to the cashier"
298
- },
299
- {
300
- id: "paid",
301
- value: n.v.submitOrderInstruction.paid ?? void 0,
302
- title: e("order.paid"),
303
- defaultValue: "Please wait as we prepare your food. We'll call your number when it's ready."
304
- }
305
- ]);
306
- function l(i) {
307
- p("updateTakeaway", { ...n.v, enabled: i });
308
- }
309
- function y(i, u) {
310
- p("updateTakeaway", {
311
- ...n.v,
312
- submitOrderInstruction: {
313
- ...n.v.submitOrderInstruction,
314
- [i]: u
315
- }
316
- });
317
- }
318
- return (i, u) => {
319
- const S = k("FmSwitch");
320
- return c(), _("div", null, [
321
- s(S, {
322
- "model-value": i.v.enabled,
323
- label: t(e)("order.takeaway"),
324
- "label-placement": "right",
325
- "onUpdate:modelValue": l,
326
- class: "mb-5"
327
- }, null, 8, ["model-value", "label"]),
328
- M(s(G, {
329
- fields: b.value,
330
- "onUpdate:field": y
331
- }, null, 8, ["fields"]), [
332
- [W, i.v.enabled]
333
- ])
334
- ]);
335
- };
336
- }
337
- }), Ie = { class: "flex flex-row items-center" }, ke = { key: 0 }, Te = {
338
- key: 1,
339
- class: "ml-7"
340
- }, xe = { key: 0 }, we = { class: "font-bold" }, De = {
341
- key: 2,
342
- class: "ml-7"
343
- }, Ve = { class: "ml-7" }, Ce = { class: "ml-7" }, Fe = { class: "flex flex-row gap-9" }, Ue = /* @__PURE__ */ A({
344
- __name: "KioskPaymentTypeSection",
345
- props: {
346
- paymentTypes: {
347
- type: Array,
348
- required: !0
349
- },
350
- offlinePaymentTypes: {
351
- type: Array,
352
- required: !0
353
- },
354
- allowEPayment: {
355
- type: [Boolean, String],
356
- required: !0
357
- },
358
- ePaymentTypes: {
359
- type: Object,
360
- required: !0
361
- }
362
- },
363
- emits: ["update:paymentTypes", "update:offlinePaymentTypes", "update:ePaymentTypes"],
364
- setup(v, { emit: g }) {
365
- const { t: e } = R(), n = v, p = g;
366
- async function b(r) {
367
- p(
368
- "update:offlinePaymentTypes",
369
- n.offlinePaymentTypes.filter((d, D) => D !== r)
370
- );
371
- }
372
- const l = C(() => (n.paymentTypes || []).includes($.enum.ePayment)), y = C(() => {
373
- const r = n.paymentTypes || [], d = n.offlinePaymentTypes || [];
374
- return r.includes($.enum.cash) || d.length > 0;
375
- }), i = N(!1), u = N([]), S = N(), I = N([]), x = N(!1), w = N(!1), T = [
376
- { label: e("order.offlinePayment"), value: "offline" },
377
- { label: e("order.ePayment"), value: "e-payment" }
378
- ], Y = () => {
379
- const r = [];
380
- y.value && r.push("offline"), l.value && r.push("e-payment"), u.value = r, i.value = r.length === T.length, Object.keys(n.ePaymentTypes).length !== 0 && (n.ePaymentTypes.card.terminal ? (S.value = P.enum.TERMINAL, x.value = !0) : n.ePaymentTypes.card.nfc && (S.value = P.enum.NFC, x.value = !0), n.ePaymentTypes.eWallet.qrPay && (I.value.push(P.enum.QRPAY), w.value = !0), n.ePaymentTypes.eWallet.scanPay && (I.value.push(P.enum.SCANPAY), w.value = !0));
381
- };
382
- Y();
383
- const B = (r) => {
384
- u.value = r ? T.map((O) => O.value) : [], i.value = r;
385
- const d = [], D = r ? n.offlinePaymentTypes || [] : [];
386
- u.value.includes("e-payment") && (d.push($.enum.ePayment), x.value = !0, w.value = !0), u.value.includes("offline") && d.push($.enum.cash), p("update:paymentTypes", d), p("update:offlinePaymentTypes", D), E(x.value), F(w.value);
387
- }, o = (r) => {
388
- const d = u.value;
389
- u.value = r, i.value = r.length === T.length;
390
- const D = [], O = r.includes("offline") ? n.offlinePaymentTypes || [] : [];
391
- r.includes("e-payment") && D.push($.enum.ePayment), r.includes("offline") && D.push($.enum.cash), d.includes("e-payment") || (x.value = !0, w.value = !0, E(x.value), F(w.value)), p("update:paymentTypes", D), p("update:offlinePaymentTypes", O);
392
- }, a = (r) => {
393
- const d = {
394
- card: {
395
- terminal: !1,
396
- nfc: !1
397
- },
398
- eWallet: {
399
- qrPay: !1,
400
- scanPay: !1
401
- }
402
- };
403
- u.value.includes("e-payment") && (r == P.enum.TERMINAL && (d.card.terminal = !0), r == P.enum.NFC && (d.card.nfc = !0), I.value.length > 0 && (I.value.includes(P.enum.QRPAY) && (d.eWallet.qrPay = !0), I.value.includes(P.enum.SCANPAY) && (d.eWallet.scanPay = !0))), p("update:ePaymentTypes", d);
404
- }, f = () => {
405
- const r = {
406
- card: {
407
- terminal: !1,
408
- nfc: !1
409
- },
410
- eWallet: {
411
- qrPay: !1,
412
- scanPay: !1
413
- }
414
- };
415
- u.value.includes("e-payment") && (S.value && (S.value === P.enum.TERMINAL && (r.card.terminal = !0), S.value === P.enum.NFC && (r.card.nfc = !0)), I.value.includes(P.enum.QRPAY) && (r.eWallet.qrPay = !0), I.value.includes(P.enum.SCANPAY) && (r.eWallet.scanPay = !0)), p("update:ePaymentTypes", r);
416
- }, E = (r) => {
417
- S.value = "", r && (S.value = P.enum.TERMINAL), f();
418
- }, F = (r) => {
419
- I.value = [], r && (I.value = [
420
- P.enum.QRPAY,
421
- P.enum.SCANPAY
422
- ]), f();
423
- };
424
- return te(() => {
425
- Y();
426
- }), (r, d) => {
427
- var J, X;
428
- const D = k("FmCheckbox"), O = k("FmCardSection"), L = k("FmCard"), ee = k("FmButton"), z = k("FmSwitch"), H = k("FmRadio"), ae = k("FmRadioGroup");
429
- return c(), _(j, null, [
430
- s(D, {
431
- value: "",
432
- "model-value": i.value,
433
- label: t(e)("order.all"),
434
- indeterminate: u.value.length > 0 && u.value.length < T.length,
435
- "onUpdate:modelValue": B
436
- }, null, 8, ["model-value", "label", "indeterminate"]),
437
- m("div", Ie, [
438
- s(D, {
439
- modelValue: u.value,
440
- "onUpdate:modelValue": [
441
- d[0] || (d[0] = (h) => u.value = h),
442
- o
443
- ],
444
- label: T[0].label,
445
- value: T[0].value
446
- }, null, 8, ["modelValue", "label", "value"])
447
- ]),
448
- u.value.includes(T[0].value) && ((J = v.offlinePaymentTypes) == null ? void 0 : J.length) === 0 ? (c(), _("div", ke, [
449
- s(ie, {
450
- "onUpdate:offlinePaymentTypes": d[1] || (d[1] = (h) => p("update:offlinePaymentTypes", h))
451
- })
452
- ])) : K("", !0),
453
- u.value.includes("offline") ? (c(), _("div", Te, [
454
- ((X = v.offlinePaymentTypes) == null ? void 0 : X.length) === 0 ? (c(), _("div", xe, [
455
- s(L, { variant: "outlined" }, {
456
- default: U(() => [
457
- s(O, null, {
458
- default: U(() => [
459
- le(V(t(e)("order.payAtCounter")), 1)
460
- ]),
461
- _: 1
462
- })
463
- ]),
464
- _: 1
465
- })
466
- ])) : K("", !0),
467
- (c(!0), _(j, null, Q(v.offlinePaymentTypes, (h, ne) => (c(), _("p", { key: ne }, [
468
- s(L, { variant: "outlined" }, {
469
- default: U(() => [
470
- s(O, { class: "flex items-center justify-between" }, {
471
- default: U(() => [
472
- m("div", null, [
473
- m("span", we, V(h.name), 1),
474
- d[8] || (d[8] = m("br", null, null, -1)),
475
- m("span", null, V(h.instruction), 1)
476
- ]),
477
- (c(!0), _(j, null, Q(v.offlinePaymentTypes, (Ge, Z) => (c(), _("div", { key: Z }, [
478
- s(ee, {
479
- "append-icon": "delete",
480
- variant: "tertiary",
481
- onClick: (ze) => b(Z)
482
- }, null, 8, ["onClick"])
483
- ]))), 128))
484
- ]),
485
- _: 2
486
- }, 1024)
487
- ]),
488
- _: 2
489
- }, 1024)
490
- ]))), 128))
491
- ])) : K("", !0),
492
- s(D, {
493
- modelValue: u.value,
494
- "onUpdate:modelValue": [
495
- d[2] || (d[2] = (h) => u.value = h),
496
- o
497
- ],
498
- label: T[1].label,
499
- value: T[1].value
500
- }, null, 8, ["modelValue", "label", "value"]),
501
- u.value.includes(T[1].value) ? (c(), _("div", De, [
502
- s(L, { variant: "outlined" }, {
503
- default: U(() => [
504
- s(O, null, {
505
- default: U(() => [
506
- s(z, {
507
- label: t(e)("order.bankCard"),
508
- sublabel: t(e)("order.cardPaymentDescription"),
509
- "label-placement": "right",
510
- modelValue: x.value,
511
- "onUpdate:modelValue": [
512
- d[3] || (d[3] = (h) => x.value = h),
513
- E
514
- ]
515
- }, null, 8, ["label", "sublabel", "modelValue"]),
516
- d[9] || (d[9] = m("br", null, null, -1)),
517
- M(m("div", Ve, [
518
- s(ae, {
519
- modelValue: S.value,
520
- "onUpdate:modelValue": [
521
- d[4] || (d[4] = (h) => S.value = h),
522
- a
523
- ],
524
- inline: ""
525
- }, {
526
- default: U(() => [
527
- s(H, {
528
- label: t(e)("order.terminal"),
529
- value: t(P).enum.TERMINAL
530
- }, null, 8, ["label", "value"]),
531
- s(H, {
532
- label: t(e)("order.nfc"),
533
- value: t(P).enum.NFC
534
- }, null, 8, ["label", "value"])
535
- ]),
536
- _: 1
537
- }, 8, ["modelValue"])
538
- ], 512), [
539
- [W, x.value]
540
- ])
541
- ]),
542
- _: 1
543
- })
544
- ]),
545
- _: 1
546
- }),
547
- s(L, {
548
- variant: "outlined",
549
- class: "mt-2"
550
- }, {
551
- default: U(() => [
552
- s(O, null, {
553
- default: U(() => [
554
- s(z, {
555
- label: t(e)("order.eWallet"),
556
- sublabel: t(e)("order.eWalletDescription"),
557
- "label-placement": "right",
558
- modelValue: w.value,
559
- "onUpdate:modelValue": [
560
- d[5] || (d[5] = (h) => w.value = h),
561
- F
562
- ]
563
- }, null, 8, ["label", "sublabel", "modelValue"]),
564
- d[10] || (d[10] = m("br", null, null, -1)),
565
- M(m("div", Ce, [
566
- m("div", Fe, [
567
- s(D, {
568
- modelValue: I.value,
569
- "onUpdate:modelValue": [
570
- d[6] || (d[6] = (h) => I.value = h),
571
- f
572
- ],
573
- label: t(e)("order.qrPay"),
574
- value: t(P).enum.QRPAY
575
- }, null, 8, ["modelValue", "label", "value"]),
576
- s(D, {
577
- modelValue: I.value,
578
- "onUpdate:modelValue": [
579
- d[7] || (d[7] = (h) => I.value = h),
580
- f
581
- ],
582
- label: t(e)("order.scanPay"),
583
- value: t(P).enum.SCANPAY
584
- }, null, 8, ["modelValue", "label", "value"])
585
- ])
586
- ], 512), [
587
- [W, w.value]
588
- ])
589
- ]),
590
- _: 1
591
- })
592
- ]),
593
- _: 1
594
- })
595
- ])) : K("", !0)
596
- ], 64);
597
- };
598
- }
599
- }), Ae = /* @__PURE__ */ A({
600
- __name: "KioskMenuItemSection",
601
- props: {
602
- v: { type: Boolean }
603
- },
604
- emits: ["update:modelValue"],
605
- setup(v, { emit: g }) {
606
- const { t: e } = R(), n = g, p = (b) => {
607
- n("update:modelValue", b);
608
- };
609
- return (b, l) => {
610
- const y = k("FmSwitch");
611
- return c(), q(y, {
612
- "model-value": b.v,
613
- label: `${t(e)("order.hideNotAvailableMenuItem")}`,
614
- "label-placement": "right",
615
- "onUpdate:modelValue": p,
616
- class: "mb-5"
617
- }, null, 8, ["model-value", "label"]);
618
- };
619
- }
620
- }), Re = /* @__PURE__ */ A({
621
- __name: "KioskEnablePaxDialogSection",
622
- props: {
623
- v: { type: Boolean }
624
- },
625
- emits: ["updateEnablePaxDialog"],
626
- setup(v, { emit: g }) {
627
- const { t: e } = R(), n = g;
628
- function p(b) {
629
- n("updateEnablePaxDialog", b);
630
- }
631
- return (b, l) => {
632
- const y = k("FmSwitch");
633
- return c(), _("div", null, [
634
- s(y, {
635
- "model-value": b.v,
636
- label: t(e)("order.displayPaxDialogDescription"),
637
- "label-placement": "right",
638
- "onUpdate:modelValue": p,
639
- class: "mb-5"
640
- }, null, 8, ["model-value", "label"])
641
- ]);
642
- };
643
- }
644
- }), Oe = {
645
- key: 0,
646
- class: "flex flex-col gap-32"
647
- }, Ee = { class: "flex flex-col gap-2" }, Ne = { class: "fm-typo-en-title-sm-600" }, $e = { class: "flex flex-col gap-2" }, qe = { class: "fm-typo-en-title-sm-600" }, Me = { class: "flex flex-col gap-2" }, We = { class: "fm-typo-en-title-sm-600" }, Ye = { class: "flex flex-col gap-2" }, Ke = { class: "fm-typo-en-title-sm-600" }, Be = { class: "flex flex-col gap-2" }, Le = { class: "fm-typo-en-title-sm-600" }, je = { class: "fm-typo-en-title-sm-400 font-bold" }, Qe = { key: 1 }, aa = /* @__PURE__ */ A({
648
- __name: "KioskSettingView",
649
- props: {
650
- restaurantId: {},
651
- form: {}
652
- },
653
- emits: ["updateKioskOrderSetting"],
654
- setup(v, { emit: g }) {
655
- const { t: e } = R(), n = v, p = oe(), b = g, l = N(n.form), y = C(() => {
656
- const a = l.value;
657
- if (!a.dineIn.enabled)
658
- return {
659
- ...a,
660
- dineIn: {
661
- enabled: a.dineIn.enabled,
662
- sequenceNumber: a.dineIn.sequenceNumber,
663
- pickUp: a.dineIn.pickUp,
664
- displayStand: {
665
- enabled: !1,
666
- padDigit: a.dineIn.displayStand.padDigit ?? 0,
667
- standSlotRange: {
668
- min: a.dineIn.displayStand.standSlotRange.min ?? 0,
669
- max: a.dineIn.displayStand.standSlotRange.max ?? 10
670
- },
671
- prefix: a.dineIn.displayStand.prefix ?? "",
672
- enablePaxDialog: a.dineIn.displayStand.enablePaxDialog,
673
- submitOrderInstruction: {
674
- payAtCounter: a.dineIn.displayStand.submitOrderInstruction.payAtCounter ?? null,
675
- paid: a.dineIn.displayStand.submitOrderInstruction.paid ?? null
676
- }
677
- }
678
- }
679
- };
680
- if (a.dineIn.enabled && a.dineIn.displayStand.enabled) {
681
- const f = a.dineIn.displayStand;
682
- return f.padDigit != null && f.padDigit >= 0 && f.standSlotRange.min && f.standSlotRange.max && f.standSlotRange.min <= f.standSlotRange.max ? {
683
- ...a,
684
- dineIn: {
685
- enabled: a.dineIn.enabled,
686
- sequenceNumber: a.dineIn.sequenceNumber,
687
- pickUp: a.dineIn.pickUp,
688
- displayStand: {
689
- enabled: f.enabled,
690
- padDigit: f.padDigit,
691
- standSlotRange: {
692
- min: f.standSlotRange.min,
693
- max: f.standSlotRange.max
694
- },
695
- prefix: f.prefix ?? "",
696
- enablePaxDialog: f.enablePaxDialog,
697
- submitOrderInstruction: {
698
- payAtCounter: f.submitOrderInstruction.payAtCounter ?? null,
699
- paid: f.submitOrderInstruction.paid ?? null
700
- }
701
- }
702
- }
703
- } : null;
704
- }
705
- return {
706
- ...a,
707
- dineIn: {
708
- enabled: a.dineIn.enabled,
709
- sequenceNumber: a.dineIn.sequenceNumber,
710
- pickUp: a.dineIn.pickUp,
711
- displayStand: {
712
- enabled: !1,
713
- padDigit: a.dineIn.displayStand.padDigit ?? 0,
714
- standSlotRange: {
715
- min: a.dineIn.displayStand.standSlotRange.min ?? 0,
716
- max: a.dineIn.displayStand.standSlotRange.max ?? 10
717
- },
718
- prefix: a.dineIn.displayStand.prefix ?? "",
719
- enablePaxDialog: a.dineIn.displayStand.enablePaxDialog,
720
- submitOrderInstruction: {
721
- payAtCounter: a.dineIn.displayStand.submitOrderInstruction.payAtCounter ?? null,
722
- paid: a.dineIn.displayStand.submitOrderInstruction.paid ?? null
723
- }
724
- }
725
- }
726
- };
727
- }), { startAsyncCall: i } = de();
728
- async function u(a) {
729
- l.value.dineIn = a;
730
- }
731
- async function S(a) {
732
- l.value.takeaway = a;
733
- }
734
- async function I(a) {
735
- l.value.menuItem.showAllOnly = a;
736
- }
737
- async function x(a) {
738
- l.value.paymentSetting.paymentTypes = a;
739
- }
740
- async function w(a) {
741
- l.value.paymentSetting.ePaymentTypes = a;
742
- }
743
- const T = C(() => (l.value.paymentSetting.paymentTypes || []).includes($.enum.ePayment));
744
- async function Y(a) {
745
- l.value.dineIn.displayStand.enablePaxDialog = a, l.value.dineIn.pickUp.enablePaxDialog = a;
746
- }
747
- const B = C(() => (l.value.dineIn.displayStand.enabled && l.value.dineIn.displayStand.enablePaxDialog || l.value.dineIn.pickUp.enablePaxDialog) ?? !1);
748
- async function o() {
749
- if (y.value) {
750
- const a = y.value;
751
- i(async () => {
752
- await b("updateKioskOrderSetting", a);
753
- });
754
- } else
755
- p.open({
756
- title: e("order.failedToUpdateSetting"),
757
- type: "error"
758
- });
759
- }
760
- return (a, f) => {
761
- const E = k("FmButton");
762
- return l.value ? (c(), _("div", Oe, [
763
- m("div", Ee, [
764
- m("span", Ne, V(t(e)("order.dineIn")), 1),
765
- (c(), q(_e, {
766
- key: "dine-in-" + a.restaurantId,
767
- v: l.value.dineIn,
768
- onUpdateDineIn: u
769
- }, null, 8, ["v"]))
770
- ]),
771
- m("div", $e, [
772
- m("span", qe, V(t(e)("order.takeawayTitle")), 1),
773
- (c(), q(he, {
774
- key: "takeaway-" + a.restaurantId,
775
- v: l.value.takeaway,
776
- onUpdateTakeaway: S
777
- }, null, 8, ["v"]))
778
- ]),
779
- m("div", Me, [
780
- m("span", We, V(t(e)("order.menuItem")), 1),
781
- (c(), q(Ae, {
782
- key: "menu-item-" + a.restaurantId,
783
- v: l.value.menuItem.showAllOnly,
784
- "onUpdate:modelValue": I
785
- }, null, 8, ["v"]))
786
- ]),
787
- m("div", Ye, [
788
- m("span", Ke, V(t(e)("order.displayPaxDialogTitle")), 1),
789
- (c(), q(Re, {
790
- key: "enable-pax-dialog-" + a.restaurantId,
791
- v: B.value,
792
- onUpdateEnablePaxDialog: Y
793
- }, null, 8, ["v"]))
794
- ]),
795
- m("div", Be, [
796
- m("span", Le, V(t(e)("order.acceptedPayment")), 1),
797
- m("span", je, V(t(e)("order.configuration")), 1),
798
- s(Ue, {
799
- "payment-types": l.value.paymentSetting.paymentTypes ?? [],
800
- "allow-e-payment": T.value,
801
- "offline-payment-types": l.value.paymentSetting.offlinePaymentTypes ?? [],
802
- ePaymentTypes: l.value.paymentSetting.ePaymentTypes ?? {},
803
- "onUpdate:paymentTypes": x,
804
- "onUpdate:offlinePaymentTypes": f[0] || (f[0] = (F) => l.value.paymentSetting.offlinePaymentTypes = F),
805
- "onUpdate:ePaymentTypes": w
806
- }, null, 8, ["payment-types", "allow-e-payment", "offline-payment-types", "ePaymentTypes"])
807
- ]),
808
- s(E, {
809
- class: "w-1/4 mb-10",
810
- variant: "primary",
811
- label: t(e)("order.updateSetting"),
812
- disabled: !y.value,
813
- onClick: o
814
- }, null, 8, ["label", "disabled"])
815
- ])) : (c(), _("div", Qe, V(t(e)("order.pleaseSelectRestaurant")), 1));
816
- };
817
- }
818
- });
819
- export {
820
- aa as default
821
- };