@feedmepos/mf-order-setting 0.0.21-beta.3 → 0.0.23

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