@feedmepos/mf-order-setting 0.0.33 → 0.0.35

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