@feedmepos/mf-order-setting 0.0.20 → 0.0.21-beta.2

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 (99) hide show
  1. package/dist/{KioskDevicesView-BnU_Z30B.js → KioskDevicesView-TgyDh8aI.js} +1 -1
  2. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-2dGio8Lw.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-CiYEoMoW.js} +4 -3
  3. package/dist/KioskSettingView-fbOxH9m8.js +649 -0
  4. package/dist/KioskView-C0Vn5S89.js +334 -0
  5. package/dist/{OrderSettingsView-CIUddOED.js → OrderSettingsView-mYvRn7u9.js} +1630 -1703
  6. package/dist/{app-CuyLbKuN.js → app-A306cfER.js} +478 -448
  7. package/dist/app.js +1 -1
  8. package/dist/{dayjs.min-BJrst4DM.js → auth.dto-C5PLip9a.js} +34577 -36584
  9. package/dist/dayjs.min-CLR5r0qf.js +2110 -0
  10. package/dist/frontend/mf-order/src/App.vue.d.ts +1 -1
  11. package/dist/frontend/mf-order/src/Entry.vue.d.ts +1 -1
  12. package/dist/frontend/mf-order/src/app.d.ts +439 -409
  13. package/dist/frontend/mf-order/src/components/GoogleMap.vue.d.ts +3 -1
  14. package/dist/frontend/mf-order/src/modules/order-setting/kiosk/interface.d.ts +18 -0
  15. package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +240 -0
  16. package/dist/frontend/mf-order/src/stores/order-setting/mapper.d.ts +2 -1
  17. package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +8 -8
  18. package/dist/frontend/mf-order/src/views/all-orders/ActionMenuCell.vue.d.ts +1 -1
  19. package/dist/frontend/mf-order/src/views/all-orders/FilterRestaurant.vue.d.ts +8 -1593
  20. package/dist/frontend/mf-order/src/views/all-orders/FilterStatus.vue.d.ts +6 -9
  21. package/dist/frontend/mf-order/src/views/all-orders/FilterStatusMenu.vue.d.ts +5 -11
  22. package/dist/frontend/mf-order/src/views/all-orders/ReflowOrder.vue.d.ts +17 -21
  23. package/dist/frontend/mf-order/src/views/all-orders/UpdateDeliveryOrderDialog.vue.d.ts +1 -1
  24. package/dist/frontend/mf-order/src/views/kiosk/KioskSummary.vue.d.ts +1 -1
  25. package/dist/frontend/mf-order/src/views/kiosk/KioskView.vue.d.ts +1 -1
  26. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskDeviceCard.vue.d.ts +1 -1
  27. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskDeviceDetail.vue.d.ts +1 -1
  28. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskDevicesView.vue.d.ts +1 -1
  29. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskOtpDialog.vue.d.ts +1 -1
  30. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskUnbindConfirm.vue.d.ts +1 -1
  31. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDineInSection.vue.d.ts +2 -4
  32. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDisplayStandSection.vue.d.ts +1 -1
  33. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskMenuItemSection.vue.d.ts +9 -0
  34. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPaymentTypeSection.vue.d.ts +93 -0
  35. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPickAtCounterSection.vue.d.ts +1 -1
  36. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskTakeawaySection.vue.d.ts +2 -4
  37. package/dist/frontend/mf-order/src/views/order-settings/delivery/DeliveryList.vue.d.ts +1 -1
  38. package/dist/frontend/mf-order/src/views/order-settings/delivery/components/TaxInput.vue.d.ts +1 -1
  39. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryOrder.vue.d.ts +136 -1
  40. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/TimePicker.vue.d.ts +6 -120
  41. package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialogContent.vue.d.ts +1 -1
  42. package/dist/frontend/mf-order/src/views/order-settings/pickup/AddressInput.vue.d.ts +8 -12
  43. package/dist/frontend/mf-order/src/views/order-settings/pickup/CustomPayment.vue.d.ts +6 -12
  44. package/dist/frontend/mf-order/src/views/order-settings/pickup/PaymentSidesheet.vue.d.ts +18 -15
  45. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpPointDialogContent.vue.d.ts +142 -15
  46. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickupList.vue.d.ts +1 -1
  47. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  48. package/dist/{index-DPl0R4fg.js → index-BJuGDir8.js} +25 -24
  49. package/dist/index-DSCb3ndM.js +150 -0
  50. package/dist/package/entity/food-court/order.dto.d.ts +223 -223
  51. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +2 -2
  52. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +8 -8
  53. package/dist/package/entity/kiosk/kiosk.do.d.ts +12 -12
  54. package/dist/package/entity/kiosk/kiosk.dto.d.ts +15 -15
  55. package/dist/package/entity/kiosk/scanner/scanner.do.d.ts +9 -9
  56. package/dist/package/entity/kiosk/scanner/scanner.dto.d.ts +9 -9
  57. package/dist/package/entity/kiosk/scanner/scanner.enum.d.ts +1 -1
  58. package/dist/package/entity/order/manager/manager.dto.d.ts +8 -8
  59. package/dist/package/entity/order/order-item/order-item.dto.d.ts +3986 -0
  60. package/dist/package/entity/order/order.do.d.ts +946 -0
  61. package/dist/package/entity/order/order.dto.d.ts +25328 -2337
  62. package/dist/package/entity/order/order.enum.d.ts +5 -1
  63. package/dist/package/entity/order/payment/payment.dto.d.ts +930 -930
  64. package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +10 -10
  65. package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +4 -4
  66. package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +259 -0
  67. package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +266 -0
  68. package/dist/package/entity/order-setting/order-setting.do.d.ts +172 -0
  69. package/dist/package/entity/order-setting/order-setting.dto.d.ts +344 -0
  70. package/dist/package/entity/payment/payment.dto.d.ts +2 -2
  71. package/dist/package/entity/restaurant/restaurant.dto.d.ts +220 -48
  72. package/dist/package/entity/websocket/websocket.dto.d.ts +384 -0
  73. package/package.json +2 -2
  74. package/src/locales/en-US.json +218 -203
  75. package/src/locales/zh-CN.json +218 -203
  76. package/src/modules/order-setting/kiosk/interface.ts +25 -0
  77. package/src/stores/order-setting/mapper.ts +73 -51
  78. package/src/views/kiosk/KioskSummary.vue +36 -2
  79. package/src/views/kiosk/KioskView.vue +115 -96
  80. package/src/views/kiosk/settings/KioskDineInSection.vue +48 -33
  81. package/src/views/kiosk/settings/KioskDisplayStandSection.vue +114 -67
  82. package/src/views/kiosk/settings/KioskMenuItemSection.vue +27 -0
  83. package/src/views/kiosk/settings/KioskPaymentTypeSection.vue +339 -0
  84. package/src/views/kiosk/settings/KioskPickAtCounterSection.vue +15 -14
  85. package/src/views/kiosk/settings/KioskSettingView.vue +169 -108
  86. package/src/views/kiosk/settings/KioskTakeawaySection.vue +16 -22
  87. package/src/views/order-settings/OrderSettingsView.vue +1 -1
  88. package/src/views/order-settings/delivery/DeliverySetting.vue +8 -10
  89. package/src/views/order-settings/pickup/CustomPayment.vue +1 -1
  90. package/dist/KioskSettingView-6Q0qwSTl.js +0 -345
  91. package/dist/KioskView-DqV4IW7U.js +0 -289
  92. package/dist/index-B9mJLWE5.js +0 -70
  93. /package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/DineInSetting.vue.d.ts +0 -0
  94. /package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialog.vue.d.ts +0 -0
  95. /package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/PaymentType.vue.d.ts +0 -0
  96. /package/src/views/order-settings/{dinein → dine-in}/DineInSetting.vue +0 -0
  97. /package/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialog.vue +0 -0
  98. /package/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialogContent.vue +0 -0
  99. /package/src/views/order-settings/{dinein → dine-in}/PaymentType.vue +0 -0
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./KioskDevicesView.vue_vue_type_script_setup_true_lang-2dGio8Lw.js";
1
+ import { _ as f } from "./KioskDevicesView.vue_vue_type_script_setup_true_lang-CiYEoMoW.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -2,7 +2,8 @@ import { defineComponent as g, ref as D, resolveComponent as f, openBlock as i,
2
2
  import { useDialog as O, useSnackbar as q } from "@feedmepos/ui-library";
3
3
  import { useI18n as I } from "@feedmepos/mf-common";
4
4
  import { defineStore as N } from "pinia";
5
- import { r as w, g as K, D as T } from "./dayjs.min-BJrst4DM.js";
5
+ import { r as w, g as K, D as T } from "./dayjs.min-CLR5r0qf.js";
6
+ import "./auth.dto-C5PLip9a.js";
6
7
  const U = /* @__PURE__ */ g({
7
8
  __name: "KioskUnbindConfirm",
8
9
  props: {
@@ -165,7 +166,7 @@ const P = {
165
166
  ]);
166
167
  };
167
168
  }
168
- }), ne = { class: "flex flex-col gap-2" }, oe = { class: "flex flex-col gap-2" }, se = { class: "fm-typo-en-title-sm-600 block" }, ie = { class: "fm-typo-en-body-md-400 block" }, ae = { class: "flex flex-col gap-6" }, pe = /* @__PURE__ */ g({
169
+ }), ne = { class: "flex flex-col gap-2" }, oe = { class: "flex flex-col gap-2" }, se = { class: "fm-typo-en-title-sm-600 block" }, ie = { class: "fm-typo-en-body-md-400 block" }, ae = { class: "flex flex-col gap-6" }, fe = /* @__PURE__ */ g({
169
170
  __name: "KioskDevicesView",
170
171
  props: {
171
172
  devices: {},
@@ -201,6 +202,6 @@ const P = {
201
202
  }
202
203
  });
203
204
  export {
204
- pe as _,
205
+ fe as _,
205
206
  z as u
206
207
  };
@@ -0,0 +1,649 @@
1
+ import { defineComponent as $, computed as C, resolveComponent as k, openBlock as y, createElementBlock as T, createVNode as i, unref as l, withDirectives as B, createElementVNode as u, toDisplayString as V, vShow as K, createBlock as M, createCommentVNode as q, ref as A, onMounted as ne, Fragment as Q, withCtx as F, createTextVNode as te, renderList as Z } from "vue";
2
+ import { useI18n as E } from "@feedmepos/mf-common";
3
+ import { F as N, c as v } from "./auth.dto-C5PLip9a.js";
4
+ import { _ as le, u as de } from "./index-DSCb3ndM.js";
5
+ import { useSnackbar as ie } from "@feedmepos/ui-library";
6
+ function oe(S, g) {
7
+ let e = S.toString(), n = g - e.length;
8
+ return n > 0 && (e = Array(n + 1).join("0") + e), e;
9
+ }
10
+ const se = {
11
+ applyPadDigits: oe
12
+ }, ue = { 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" }, re = { class: "flex flex-col gap-10" }, me = { class: "flex flex-row gap-2" }, ce = /* @__PURE__ */ $({
13
+ __name: "KioskDisplayStandSection",
14
+ props: {
15
+ displayStand: {}
16
+ },
17
+ emits: ["updateDisplayStand"],
18
+ setup(S, { emit: g }) {
19
+ const { t: e } = E(), n = S, p = g, m = (o) => o < 0 ? e("order.nonNegativeRule") : !0, s = (o) => o <= (n.displayStand.standSlotRange.min ?? 0) ? e("order.greaterThanMinRule") : !0, b = C(() => [m]), c = C(() => [m]), r = C(() => [m, s]);
20
+ C(() => {
21
+ const a = se.applyPadDigits(5, n.displayStand.padDigit ?? 0);
22
+ return `Preview: ${n.displayStand.prefix}${a}`;
23
+ });
24
+ function P(o) {
25
+ p("updateDisplayStand", {
26
+ ...n.displayStand,
27
+ enabled: o
28
+ });
29
+ }
30
+ function h(o) {
31
+ o && p("updateDisplayStand", {
32
+ ...n.displayStand,
33
+ standSlotRange: {
34
+ ...n.displayStand.standSlotRange,
35
+ min: o
36
+ }
37
+ });
38
+ }
39
+ function x(o) {
40
+ o && p("updateDisplayStand", {
41
+ ...n.displayStand,
42
+ standSlotRange: {
43
+ ...n.displayStand.standSlotRange,
44
+ max: o
45
+ }
46
+ });
47
+ }
48
+ function R(o) {
49
+ p("updateDisplayStand", {
50
+ ...n.displayStand,
51
+ prefix: o
52
+ });
53
+ }
54
+ function I(o) {
55
+ o && p("updateDisplayStand", {
56
+ ...n.displayStand,
57
+ padDigit: o
58
+ });
59
+ }
60
+ return (o, a) => {
61
+ const f = k("FmSwitch"), O = k("FmTextField"), U = k("FmStepperField");
62
+ return y(), T("div", null, [
63
+ i(f, {
64
+ "model-value": o.displayStand.enabled,
65
+ label: l(e)("order.displayStand"),
66
+ "label-placement": "right",
67
+ "onUpdate:modelValue": P
68
+ }, null, 8, ["model-value", "label"]),
69
+ B(u("div", ue, [
70
+ u("span", pe, V(l(e)("order.tableServiceSetting")), 1),
71
+ u("div", re, [
72
+ i(O, {
73
+ "model-value": o.displayStand.prefix,
74
+ label: l(e)("order.prefix"),
75
+ placeholder: l(e)("order.prefix"),
76
+ "onUpdate:modelValue": R
77
+ }, null, 8, ["model-value", "label", "placeholder"])
78
+ ]),
79
+ u("div", me, [
80
+ i(U, {
81
+ class: "w-1/2",
82
+ "model-value": o.displayStand.standSlotRange.min,
83
+ label: l(e)("order.start"),
84
+ labelMark: "required",
85
+ rules: c.value,
86
+ placeholder: l(e)("order.enterANumber"),
87
+ "onUpdate:modelValue": h
88
+ }, null, 8, ["model-value", "label", "rules", "placeholder"]),
89
+ i(U, {
90
+ class: "w-1/2",
91
+ "model-value": o.displayStand.standSlotRange.max,
92
+ label: l(e)("order.end"),
93
+ labelMark: "required",
94
+ rules: r.value,
95
+ placeholder: l(e)("order.enterANumber"),
96
+ "onUpdate:modelValue": x
97
+ }, null, 8, ["model-value", "label", "rules", "placeholder"])
98
+ ]),
99
+ u("div", null, [
100
+ i(U, {
101
+ "model-value": o.displayStand.padDigit,
102
+ label: l(e)("order.padDigit"),
103
+ labelMark: "required",
104
+ rules: b.value,
105
+ placeholder: l(e)("order.padDigit"),
106
+ "onUpdate:modelValue": I
107
+ }, null, 8, ["model-value", "label", "rules", "placeholder"])
108
+ ])
109
+ ], 512), [
110
+ [K, o.displayStand.enabled]
111
+ ])
112
+ ]);
113
+ };
114
+ }
115
+ }), ye = /* @__PURE__ */ $({
116
+ __name: "KioskPickAtCounterSection",
117
+ props: {
118
+ enabled: { type: Boolean }
119
+ },
120
+ emits: ["update-pick-up"],
121
+ setup(S, { emit: g }) {
122
+ const { t: e } = E(), n = g;
123
+ function p(m) {
124
+ n("update-pick-up", m);
125
+ }
126
+ return (m, s) => {
127
+ const b = k("FmSwitch");
128
+ return y(), T("div", null, [
129
+ i(b, {
130
+ "model-value": m.enabled,
131
+ label: l(e)("order.pickAtCounter"),
132
+ "label-placement": "right",
133
+ "onUpdate:modelValue": p
134
+ }, null, 8, ["model-value", "label"])
135
+ ]);
136
+ };
137
+ }
138
+ }), fe = { class: "flex flex-col gap-5" }, ve = { class: "flex flex-col gap-16" }, be = { class: "flex flex-col gap-16" }, Se = /* @__PURE__ */ $({
139
+ __name: "KioskDineInSection",
140
+ props: {
141
+ v: {}
142
+ },
143
+ emits: ["updateDineIn"],
144
+ setup(S, { emit: g }) {
145
+ const { t: e } = E();
146
+ function n(c) {
147
+ b("updateDineIn", {
148
+ ...s.v,
149
+ pickUp: {
150
+ enabled: c
151
+ }
152
+ });
153
+ }
154
+ function p(c) {
155
+ b("updateDineIn", {
156
+ ...s.v,
157
+ displayStand: c
158
+ });
159
+ }
160
+ function m(c) {
161
+ b("updateDineIn", {
162
+ ...s.v,
163
+ enabled: c
164
+ });
165
+ }
166
+ const s = S, b = g;
167
+ return (c, r) => {
168
+ const P = k("FmSwitch");
169
+ return y(), T("div", fe, [
170
+ u("div", ve, [
171
+ i(P, {
172
+ "model-value": c.v.enabled,
173
+ label: l(e)("order.dineIn"),
174
+ "label-placement": "right",
175
+ "onUpdate:modelValue": m
176
+ }, null, 8, ["model-value", "label"]),
177
+ B(u("div", be, [
178
+ c.v.pickUp ? (y(), M(ye, {
179
+ key: 0,
180
+ enabled: c.v.pickUp.enabled,
181
+ onUpdatePickUp: n
182
+ }, null, 8, ["enabled"])) : q("", !0),
183
+ c.v.displayStand ? (y(), M(ce, {
184
+ key: 1,
185
+ "display-stand": c.v.displayStand,
186
+ onUpdateDisplayStand: p
187
+ }, null, 8, ["display-stand"])) : q("", !0)
188
+ ], 512), [
189
+ [K, c.v.enabled]
190
+ ])
191
+ ])
192
+ ]);
193
+ };
194
+ }
195
+ }), _e = /* @__PURE__ */ $({
196
+ __name: "KioskTakeawaySection",
197
+ props: {
198
+ v: {}
199
+ },
200
+ emits: ["updateTakeaway"],
201
+ setup(S, { emit: g }) {
202
+ const { t: e } = E(), n = g;
203
+ function p(m) {
204
+ n("updateTakeaway", { enabled: m });
205
+ }
206
+ return (m, s) => {
207
+ const b = k("FmSwitch");
208
+ return y(), T("div", null, [
209
+ i(b, {
210
+ "model-value": m.v.enabled,
211
+ label: l(e)("order.takeaway"),
212
+ "label-placement": "right",
213
+ "onUpdate:modelValue": p,
214
+ class: "mb-5"
215
+ }, null, 8, ["model-value", "label"])
216
+ ]);
217
+ };
218
+ }
219
+ }), ge = { class: "flex flex-row items-center" }, Pe = { key: 0 }, he = {
220
+ key: 1,
221
+ class: "ml-7"
222
+ }, Te = { key: 0 }, ke = { class: "font-bold" }, Ie = {
223
+ key: 2,
224
+ class: "ml-7"
225
+ }, xe = { class: "ml-7" }, Re = { class: "ml-7" }, we = /* @__PURE__ */ $({
226
+ __name: "KioskPaymentTypeSection",
227
+ props: {
228
+ paymentTypes: {
229
+ type: Array,
230
+ required: !0
231
+ },
232
+ offlinePaymentTypes: {
233
+ type: Array,
234
+ required: !0
235
+ },
236
+ allowEPayment: {
237
+ type: [Boolean, String],
238
+ required: !0
239
+ },
240
+ ePaymentTypes: {
241
+ type: Object,
242
+ required: !0
243
+ }
244
+ },
245
+ emits: ["update:paymentTypes", "update:offlinePaymentTypes", "update:ePaymentTypes"],
246
+ setup(S, { emit: g }) {
247
+ const { t: e } = E(), n = S, p = g;
248
+ async function m(d) {
249
+ p(
250
+ "update:offlinePaymentTypes",
251
+ n.offlinePaymentTypes.filter((t, w) => w !== d)
252
+ );
253
+ }
254
+ const s = C(() => (n.paymentTypes || []).includes(N.enum.ePayment)), b = C(() => {
255
+ const d = n.paymentTypes || [], t = n.offlinePaymentTypes || [];
256
+ return d.includes(N.enum.cash) || t.length > 0;
257
+ }), c = A(!1), r = A([]), P = A(), h = A(), x = A(!1), R = A(!1), I = [
258
+ { label: e("order.offlinePayment"), value: "offline" },
259
+ { label: e("order.ePayment"), value: "e-payment" }
260
+ ], o = () => {
261
+ const d = [];
262
+ b.value && d.push("offline"), s.value && d.push("e-payment"), r.value = d, c.value = d.length === I.length, Object.keys(n.ePaymentTypes).length !== 0 && (n.ePaymentTypes.card.terminal ? (P.value = v.enum.TERMINAL, x.value = !0) : n.ePaymentTypes.card.nfc && (P.value = v.enum.NFC, x.value = !0), n.ePaymentTypes.eWallet.qrPay ? (h.value = v.enum.QRPAY, R.value = !0) : n.ePaymentTypes.eWallet.scanPay && (h.value = v.enum.SCANPAY, R.value = !0));
263
+ };
264
+ o();
265
+ const a = (d) => {
266
+ r.value = d ? I.map((D) => D.value) : [], c.value = d;
267
+ const t = [], w = d ? n.offlinePaymentTypes || [] : [];
268
+ r.value.includes("e-payment") && (t.push(N.enum.ePayment), x.value = !0, R.value = !0), r.value.includes("offline") && t.push(N.enum.cash), p("update:paymentTypes", t), p("update:offlinePaymentTypes", w), L(x.value), j(R.value);
269
+ }, f = (d) => {
270
+ const t = r.value;
271
+ r.value = d, c.value = d.length === I.length;
272
+ const w = [], D = d.includes("offline") ? n.offlinePaymentTypes || [] : [];
273
+ d.includes("e-payment") && w.push(N.enum.ePayment), d.includes("offline") && w.push(N.enum.cash), t.includes("e-payment") || (x.value = !0, R.value = !0, L(x.value), j(R.value)), p("update:paymentTypes", w), p("update:offlinePaymentTypes", D);
274
+ }, O = (d) => {
275
+ const t = {
276
+ card: {
277
+ terminal: !1,
278
+ nfc: !1
279
+ },
280
+ eWallet: {
281
+ qrPay: !1,
282
+ scanPay: !1
283
+ }
284
+ };
285
+ r.value.includes("e-payment") && (d == v.enum.TERMINAL && (t.card.terminal = !0), d == v.enum.NFC && (t.card.nfc = !0), h.value && (h.value === v.enum.QRPAY && (t.eWallet.qrPay = !0), h.value === v.enum.SCANPAY && (t.eWallet.scanPay = !0))), p("update:ePaymentTypes", t);
286
+ }, U = () => {
287
+ const d = {
288
+ card: {
289
+ terminal: !1,
290
+ nfc: !1
291
+ },
292
+ eWallet: {
293
+ qrPay: !1,
294
+ scanPay: !1
295
+ }
296
+ };
297
+ r.value.includes("e-payment") && (P.value && (P.value === v.enum.TERMINAL && (d.card.terminal = !0), P.value === v.enum.NFC && (d.card.nfc = !0)), h.value === v.enum.QRPAY && (d.eWallet.qrPay = !0), h.value === v.enum.SCANPAY && (d.eWallet.scanPay = !0)), p("update:ePaymentTypes", d);
298
+ }, L = (d) => {
299
+ P.value = "", d && (P.value = v.enum.TERMINAL), U();
300
+ }, j = (d) => {
301
+ h.value = "", d && (h.value = v.enum.QRPAY), U();
302
+ };
303
+ return ne(() => {
304
+ o();
305
+ }), (d, t) => {
306
+ var H, J;
307
+ const w = k("FmCheckbox"), D = k("FmCardSection"), Y = k("FmCard"), ee = k("FmButton"), G = k("FmSwitch"), W = k("FmRadio"), z = k("FmRadioGroup");
308
+ return y(), T(Q, null, [
309
+ i(w, {
310
+ value: "",
311
+ "model-value": c.value,
312
+ label: l(e)("order.all"),
313
+ indeterminate: r.value.length > 0 && r.value.length < I.length,
314
+ "onUpdate:modelValue": a
315
+ }, null, 8, ["model-value", "label", "indeterminate"]),
316
+ u("div", ge, [
317
+ i(w, {
318
+ modelValue: r.value,
319
+ "onUpdate:modelValue": [
320
+ t[0] || (t[0] = (_) => r.value = _),
321
+ f
322
+ ],
323
+ label: I[0].label,
324
+ value: I[0].value
325
+ }, null, 8, ["modelValue", "label", "value"])
326
+ ]),
327
+ r.value.includes(I[0].value) && ((H = S.offlinePaymentTypes) == null ? void 0 : H.length) === 0 ? (y(), T("div", Pe, [
328
+ i(le, {
329
+ "onUpdate:offlinePaymentTypes": t[1] || (t[1] = (_) => p("update:offlinePaymentTypes", _))
330
+ })
331
+ ])) : q("", !0),
332
+ r.value.includes("offline") ? (y(), T("div", he, [
333
+ ((J = S.offlinePaymentTypes) == null ? void 0 : J.length) === 0 ? (y(), T("div", Te, [
334
+ i(Y, { variant: "outlined" }, {
335
+ default: F(() => [
336
+ i(D, null, {
337
+ default: F(() => [
338
+ te(V(l(e)("order.payAtCounter")), 1)
339
+ ]),
340
+ _: 1
341
+ })
342
+ ]),
343
+ _: 1
344
+ })
345
+ ])) : q("", !0),
346
+ (y(!0), T(Q, null, Z(S.offlinePaymentTypes, (_, ae) => (y(), T("p", { key: ae }, [
347
+ i(Y, { variant: "outlined" }, {
348
+ default: F(() => [
349
+ i(D, { class: "flex items-center justify-between" }, {
350
+ default: F(() => [
351
+ u("div", null, [
352
+ u("span", ke, V(_.name), 1),
353
+ t[7] || (t[7] = u("br", null, null, -1)),
354
+ u("span", null, V(_.instruction), 1)
355
+ ]),
356
+ (y(!0), T(Q, null, Z(S.offlinePaymentTypes, (Ye, X) => (y(), T("div", { key: X }, [
357
+ i(ee, {
358
+ "append-icon": "delete",
359
+ variant: "tertiary",
360
+ onClick: (We) => m(X)
361
+ }, null, 8, ["onClick"])
362
+ ]))), 128))
363
+ ]),
364
+ _: 2
365
+ }, 1024)
366
+ ]),
367
+ _: 2
368
+ }, 1024)
369
+ ]))), 128))
370
+ ])) : q("", !0),
371
+ i(w, {
372
+ modelValue: r.value,
373
+ "onUpdate:modelValue": [
374
+ t[2] || (t[2] = (_) => r.value = _),
375
+ f
376
+ ],
377
+ label: I[1].label,
378
+ value: I[1].value
379
+ }, null, 8, ["modelValue", "label", "value"]),
380
+ r.value.includes(I[1].value) ? (y(), T("div", Ie, [
381
+ i(Y, { variant: "outlined" }, {
382
+ default: F(() => [
383
+ i(D, null, {
384
+ default: F(() => [
385
+ i(G, {
386
+ label: l(e)("order.bankCard"),
387
+ sublabel: l(e)("order.cardPaymentDescription"),
388
+ "label-placement": "right",
389
+ modelValue: x.value,
390
+ "onUpdate:modelValue": [
391
+ t[3] || (t[3] = (_) => x.value = _),
392
+ L
393
+ ]
394
+ }, null, 8, ["label", "sublabel", "modelValue"]),
395
+ t[8] || (t[8] = u("br", null, null, -1)),
396
+ B(u("div", xe, [
397
+ i(z, {
398
+ modelValue: P.value,
399
+ "onUpdate:modelValue": [
400
+ t[4] || (t[4] = (_) => P.value = _),
401
+ O
402
+ ],
403
+ inline: ""
404
+ }, {
405
+ default: F(() => [
406
+ i(W, {
407
+ label: l(e)("order.terminal"),
408
+ value: l(v).enum.TERMINAL
409
+ }, null, 8, ["label", "value"]),
410
+ i(W, {
411
+ label: l(e)("order.nfc"),
412
+ value: l(v).enum.NFC
413
+ }, null, 8, ["label", "value"])
414
+ ]),
415
+ _: 1
416
+ }, 8, ["modelValue"])
417
+ ], 512), [
418
+ [K, x.value]
419
+ ])
420
+ ]),
421
+ _: 1
422
+ })
423
+ ]),
424
+ _: 1
425
+ }),
426
+ i(Y, {
427
+ variant: "outlined",
428
+ class: "mt-2"
429
+ }, {
430
+ default: F(() => [
431
+ i(D, null, {
432
+ default: F(() => [
433
+ i(G, {
434
+ label: l(e)("order.eWallet"),
435
+ sublabel: l(e)("order.eWalletDescription"),
436
+ "label-placement": "right",
437
+ modelValue: R.value,
438
+ "onUpdate:modelValue": [
439
+ t[5] || (t[5] = (_) => R.value = _),
440
+ j
441
+ ]
442
+ }, null, 8, ["label", "sublabel", "modelValue"]),
443
+ t[9] || (t[9] = u("br", null, null, -1)),
444
+ B(u("div", Re, [
445
+ i(z, {
446
+ modelValue: h.value,
447
+ "onUpdate:modelValue": [
448
+ t[6] || (t[6] = (_) => h.value = _),
449
+ U
450
+ ],
451
+ inline: ""
452
+ }, {
453
+ default: F(() => [
454
+ i(W, {
455
+ label: l(e)("order.qrPay"),
456
+ value: l(v).enum.QRPAY
457
+ }, null, 8, ["label", "value"]),
458
+ i(W, {
459
+ label: l(e)("order.scanPay"),
460
+ value: l(v).enum.SCANPAY
461
+ }, null, 8, ["label", "value"])
462
+ ]),
463
+ _: 1
464
+ }, 8, ["modelValue"])
465
+ ], 512), [
466
+ [K, R.value]
467
+ ])
468
+ ]),
469
+ _: 1
470
+ })
471
+ ]),
472
+ _: 1
473
+ })
474
+ ])) : q("", !0)
475
+ ], 64);
476
+ };
477
+ }
478
+ }), Fe = /* @__PURE__ */ $({
479
+ __name: "KioskMenuItemSection",
480
+ props: {
481
+ v: { type: Boolean }
482
+ },
483
+ emits: ["update:modelValue"],
484
+ setup(S, { emit: g }) {
485
+ const { t: e } = E(), n = g, p = (m) => {
486
+ n("update:modelValue", m);
487
+ };
488
+ return (m, s) => {
489
+ const b = k("FmSwitch");
490
+ return y(), M(b, {
491
+ "model-value": m.v,
492
+ label: `${l(e)("order.hideNotAvailableMenuItem")}`,
493
+ "label-placement": "right",
494
+ "onUpdate:modelValue": p,
495
+ class: "mb-5"
496
+ }, null, 8, ["model-value", "label"]);
497
+ };
498
+ }
499
+ }), Ve = {
500
+ key: 0,
501
+ class: "flex flex-col gap-32"
502
+ }, Ue = { class: "flex flex-col gap-2" }, De = { class: "fm-typo-en-title-sm-600" }, Ce = { class: "flex flex-col gap-2" }, Ae = { class: "fm-typo-en-title-sm-600" }, Ne = { class: "flex flex-col gap-2" }, $e = { class: "fm-typo-en-title-sm-600" }, Ee = { class: "flex flex-col gap-2" }, qe = { class: "fm-typo-en-title-sm-600" }, Me = { class: "fm-typo-en-title-sm-400 font-bold" }, Oe = { key: 1 }, Ge = /* @__PURE__ */ $({
503
+ __name: "KioskSettingView",
504
+ props: {
505
+ restaurantId: {},
506
+ form: {}
507
+ },
508
+ emits: ["updateKioskOrderSetting"],
509
+ setup(S, { emit: g }) {
510
+ const { t: e } = E(), n = S, p = ie(), m = g, s = A(n.form), b = C(() => {
511
+ const a = s.value;
512
+ if (!a.dineIn.enabled)
513
+ return {
514
+ ...a,
515
+ dineIn: {
516
+ enabled: a.dineIn.enabled,
517
+ sequenceNumber: a.dineIn.sequenceNumber,
518
+ pickUp: a.dineIn.pickUp,
519
+ displayStand: {
520
+ enabled: !1,
521
+ padDigit: a.dineIn.displayStand.padDigit ?? 0,
522
+ standSlotRange: {
523
+ min: a.dineIn.displayStand.standSlotRange.min ?? 0,
524
+ max: a.dineIn.displayStand.standSlotRange.max ?? 10
525
+ },
526
+ prefix: a.dineIn.displayStand.prefix ?? ""
527
+ }
528
+ }
529
+ };
530
+ if (a.dineIn.enabled && a.dineIn.displayStand.enabled) {
531
+ const f = a.dineIn.displayStand;
532
+ return f.padDigit != null && f.padDigit >= 0 && f.standSlotRange.min && f.standSlotRange.max && f.standSlotRange.min <= f.standSlotRange.max ? {
533
+ ...a,
534
+ dineIn: {
535
+ enabled: a.dineIn.enabled,
536
+ sequenceNumber: a.dineIn.sequenceNumber,
537
+ pickUp: a.dineIn.pickUp,
538
+ displayStand: {
539
+ enabled: f.enabled,
540
+ padDigit: f.padDigit,
541
+ standSlotRange: {
542
+ min: f.standSlotRange.min,
543
+ max: f.standSlotRange.max
544
+ },
545
+ prefix: f.prefix ?? ""
546
+ }
547
+ }
548
+ } : null;
549
+ }
550
+ return {
551
+ ...a,
552
+ dineIn: {
553
+ enabled: a.dineIn.enabled,
554
+ sequenceNumber: a.dineIn.sequenceNumber,
555
+ pickUp: a.dineIn.pickUp,
556
+ displayStand: {
557
+ enabled: !1,
558
+ padDigit: a.dineIn.displayStand.padDigit ?? 0,
559
+ standSlotRange: {
560
+ min: a.dineIn.displayStand.standSlotRange.min ?? 0,
561
+ max: a.dineIn.displayStand.standSlotRange.max ?? 10
562
+ },
563
+ prefix: a.dineIn.displayStand.prefix ?? ""
564
+ }
565
+ }
566
+ };
567
+ }), { startAsyncCall: c } = de();
568
+ async function r(a) {
569
+ s.value.dineIn = a;
570
+ }
571
+ async function P(a) {
572
+ s.value.takeaway = a;
573
+ }
574
+ async function h(a) {
575
+ s.value.menuItem.showAllOnly = a;
576
+ }
577
+ async function x(a) {
578
+ s.value.paymentSetting.paymentTypes = a;
579
+ }
580
+ async function R(a) {
581
+ s.value.paymentSetting.ePaymentTypes = a;
582
+ }
583
+ const I = C(() => (s.value.paymentSetting.paymentTypes || []).includes(N.enum.ePayment));
584
+ async function o() {
585
+ if (b.value) {
586
+ const a = b.value;
587
+ c(async () => {
588
+ await m("updateKioskOrderSetting", a);
589
+ });
590
+ } else
591
+ p.open({
592
+ title: e("order.failedToUpdateSetting"),
593
+ type: "error"
594
+ });
595
+ }
596
+ return (a, f) => {
597
+ const O = k("FmButton");
598
+ return s.value ? (y(), T("div", Ve, [
599
+ u("div", Ue, [
600
+ u("span", De, V(l(e)("order.dineIn")), 1),
601
+ (y(), M(Se, {
602
+ key: "dine-in-" + a.restaurantId,
603
+ v: s.value.dineIn,
604
+ onUpdateDineIn: r
605
+ }, null, 8, ["v"]))
606
+ ]),
607
+ u("div", Ce, [
608
+ u("span", Ae, V(l(e)("order.takeawayTitle")), 1),
609
+ (y(), M(_e, {
610
+ key: "takeaway-" + a.restaurantId,
611
+ v: s.value.takeaway,
612
+ onUpdateTakeaway: P
613
+ }, null, 8, ["v"]))
614
+ ]),
615
+ u("div", Ne, [
616
+ u("span", $e, V(l(e)("order.menuItem")), 1),
617
+ (y(), M(Fe, {
618
+ key: "menu-item-" + a.restaurantId,
619
+ v: s.value.menuItem.showAllOnly,
620
+ "onUpdate:modelValue": h
621
+ }, null, 8, ["v"]))
622
+ ]),
623
+ u("div", Ee, [
624
+ u("span", qe, V(l(e)("order.acceptedPayment")), 1),
625
+ u("span", Me, V(l(e)("order.configuration")), 1),
626
+ i(we, {
627
+ "payment-types": s.value.paymentSetting.paymentTypes ?? [],
628
+ "allow-e-payment": I.value,
629
+ "offline-payment-types": s.value.paymentSetting.offlinePaymentTypes ?? [],
630
+ ePaymentTypes: s.value.paymentSetting.ePaymentTypes ?? {},
631
+ "onUpdate:paymentTypes": x,
632
+ "onUpdate:offlinePaymentTypes": f[0] || (f[0] = (U) => s.value.paymentSetting.offlinePaymentTypes = U),
633
+ "onUpdate:ePaymentTypes": R
634
+ }, null, 8, ["payment-types", "allow-e-payment", "offline-payment-types", "ePaymentTypes"])
635
+ ]),
636
+ i(O, {
637
+ class: "w-1/4 mb-10",
638
+ variant: "primary",
639
+ label: l(e)("order.updateSetting"),
640
+ disabled: !b.value,
641
+ onClick: o
642
+ }, null, 8, ["label", "disabled"])
643
+ ])) : (y(), T("div", Oe, V(l(e)("order.pleaseSelectRestaurant")), 1));
644
+ };
645
+ }
646
+ });
647
+ export {
648
+ Ge as default
649
+ };