@feedmepos/mf-order-setting 0.0.47 → 0.0.48

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 (66) hide show
  1. package/dist/{KioskDevicesView-Dd3xcM5X.js → KioskDevicesView-iZTQ--DO.js} +1 -1
  2. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-D-epeOIx.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-CPDemTBj.js} +19 -19
  3. package/dist/KioskSettingView-mN7UPNYu.js +552 -0
  4. package/dist/{KioskView-BGiHHSjd.js → KioskView-NEpc7Ivb.js} +12 -8
  5. package/dist/OrderSettingsView-B5Nq_u9Z.js +51275 -0
  6. package/dist/app-B3KtJhiw.js +2914 -0
  7. package/dist/app.js +1 -1
  8. package/dist/{dayjs.min-D-vfvSns.js → dayjs.min-GjkM9dM2.js} +49 -49
  9. package/dist/frontend/mf-order/src/app.d.ts +1769 -0
  10. package/dist/frontend/mf-order/src/composables/useDeprecationNotice.d.ts +7 -0
  11. package/dist/frontend/mf-order/src/main.d.ts +1769 -0
  12. package/dist/frontend/mf-order/src/stores/menu/menu.d.ts +60 -0
  13. package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +18 -12
  14. package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +18 -6
  15. package/dist/frontend/mf-order/src/views/all-orders/ReflowOrder.vue.d.ts +12 -4
  16. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPaymentTypeSection.vue.d.ts +12 -8
  17. package/dist/frontend/mf-order/src/views/order-settings/delivery/components/FeedmeExpressDeprecationNotice.vue.d.ts +2 -0
  18. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  19. package/dist/{index-DAruvcri.js → index-Dwzta1U-.js} +2 -2
  20. package/dist/menu.dto-DgPhiIVk.js +101330 -0
  21. package/dist/package/entity/booking/booking.do.d.ts +170 -40
  22. package/dist/package/entity/delivery/delivery.dto.d.ts +34 -8
  23. package/dist/package/entity/food-court/order.dto.d.ts +2890 -2890
  24. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +226 -226
  25. package/dist/package/entity/incoming-order/incoming-order.do.d.ts +1027 -790
  26. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +356 -356
  27. package/dist/package/entity/index.d.ts +1 -0
  28. package/dist/package/entity/kiosk/marketing/marketing.dto.d.ts +213 -91
  29. package/dist/package/entity/order/effects/effect.dto.d.ts +10 -10
  30. package/dist/package/entity/order/order-item/order-item.dto.d.ts +110 -110
  31. package/dist/package/entity/order/order.do.d.ts +20 -20
  32. package/dist/package/entity/order/order.dto.d.ts +23748 -40781
  33. package/dist/package/entity/order/payment/payment.dto.d.ts +784 -10508
  34. package/dist/package/entity/order-platform/deliveroo/deliveroo-order.do.d.ts +26 -26
  35. package/dist/package/entity/order-platform/external/menu/external-master-menu.do.d.ts +158 -158
  36. package/dist/package/entity/order-platform/external/menu/external-menu.do.d.ts +196 -196
  37. package/dist/package/entity/order-platform/foodpanda/foodpanda-order.dto.d.ts +34 -8
  38. package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +34 -8
  39. package/dist/package/entity/order-platform/menu.dto.d.ts +75 -44
  40. package/dist/package/entity/order-platform/shopeefood/shopeefood-order.do.d.ts +34 -8
  41. package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +57 -42
  42. package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +44 -32
  43. package/dist/package/entity/order-setting/order-setting.do.d.ts +31 -22
  44. package/dist/package/entity/order-setting/order-setting.dto.d.ts +62 -44
  45. package/dist/package/entity/payment/payment.dto.d.ts +2 -2
  46. package/dist/package/entity/payment/transaction.d.ts +1937 -0
  47. package/dist/package/entity/queue/queue.dto.d.ts +2677 -7335
  48. package/dist/package/entity/restaurant/restaurant.dto.d.ts +220 -144
  49. package/dist/package/entity/websocket/websocket.dto.d.ts +68 -48
  50. package/package.json +3 -3
  51. package/src/app.ts +2 -0
  52. package/src/composables/useDeprecationNotice.ts +52 -0
  53. package/src/locales/en-US.json +6 -0
  54. package/src/locales/ja-JP.json +1751 -0
  55. package/src/locales/th-TH.json +6 -0
  56. package/src/locales/zh-CN.json +6 -0
  57. package/src/main.ts +2 -0
  58. package/src/stores/order-setting/mapper.ts +35 -23
  59. package/src/views/kiosk/settings/KioskPaymentTypeSection.vue +21 -0
  60. package/src/views/order-settings/delivery/DeliverySetting.vue +46 -2
  61. package/src/views/order-settings/delivery/components/FeedmeExpressDeprecationNotice.vue +16 -0
  62. package/src/views/order-settings/delivery/integrated-delivery/FeedmeDelivery.vue +39 -39
  63. package/dist/KioskSettingView-D50Gh7NR.js +0 -528
  64. package/dist/OrderSettingsView-DPYYH1zL.js +0 -74512
  65. package/dist/app-CAt1JfN3.js +0 -1145
  66. package/dist/menu.dto-B82ITnH5.js +0 -124296
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./KioskDevicesView.vue_vue_type_script_setup_true_lang-D-epeOIx.js";
1
+ import { _ as f } from "./KioskDevicesView.vue_vue_type_script_setup_true_lang-CPDemTBj.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -2,8 +2,8 @@ import { defineComponent as S, ref as f, resolveComponent as b, createElementBlo
2
2
  import { useDialog as J, useSnackbar as Q } from "@feedmepos/ui-library";
3
3
  import { useI18n as K } from "@feedmepos/mf-common";
4
4
  import { defineStore as X } from "pinia";
5
- import { r as D, g as U, D as Z } from "./dayjs.min-D-vfvSns.js";
6
- import "./menu.dto-B82ITnH5.js";
5
+ import { r as w, g as U, d as Z } from "./dayjs.min-GjkM9dM2.js";
6
+ import "./menu.dto-DgPhiIVk.js";
7
7
  const ee = /* @__PURE__ */ S({
8
8
  __name: "KioskUnbindConfirm",
9
9
  props: {
@@ -16,10 +16,10 @@ const ee = /* @__PURE__ */ S({
16
16
  u("update:modelValue", i);
17
17
  }
18
18
  return (i, k) => {
19
- const w = b("FmTextField");
19
+ const D = b("FmTextField");
20
20
  return l(), d("div", null, [
21
21
  n("span", null, r(y(c)("order.unbindKioskDeviceWarning", { machineId: i.machineId })), 1),
22
- v(w, {
22
+ v(D, {
23
23
  "model-value": m.value,
24
24
  "onUpdate:modelValue": s,
25
25
  placeholder: i.machineId
@@ -29,18 +29,18 @@ const ee = /* @__PURE__ */ S({
29
29
  }
30
30
  });
31
31
  async function ne() {
32
- const e = await D().get("/kiosk/otp");
32
+ const e = await w().get("/kiosk/otp");
33
33
  return U(e);
34
34
  }
35
35
  async function te() {
36
- const e = await D().get("/kiosk/devices");
36
+ const e = await w().get("/kiosk/devices");
37
37
  return U(e);
38
38
  }
39
39
  async function oe(e) {
40
- await D().delete(`/kiosk/unbind/${e}`);
40
+ await w().delete(`/kiosk/unbind/${e}`);
41
41
  }
42
42
  async function se(e, t) {
43
- await D().put(`/kiosk/updateDevicePin/${t}`, { pinInfo: e });
43
+ await w().put(`/kiosk/updateDevicePin/${t}`, { pinInfo: e });
44
44
  }
45
45
  const I = {
46
46
  requestOtp: ne,
@@ -100,13 +100,13 @@ const le = {
100
100
  }, pe = { class: "fm-typo-en-title-sm-600" }, ue = { class: "w-full border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2" }, me = { class: "flex flex-col gap-1 mb-2" }, fe = { class: "fm-typo-en-body-lg-600 block" }, ve = { class: "flex flex-col gap-1 mb-2" }, ye = { class: "fm-typo-en-body-lg-600 block" }, _e = { class: "flex flex-col gap-1 mb-2" }, be = { class: "fm-typo-en-body-lg-600 block" }, ke = { class: "flex flex-col gap-1 mb-2" }, ge = { class: "fm-typo-en-body-lg-600 block" }, he = { class: "w-full border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2" }, xe = {
101
101
  key: 0,
102
102
  class: "fm-typo-en-title-sm-600"
103
- }, Ie = { class: "flex flex-col gap-1" }, De = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, we = { class: "fm-typo-en-body-lg-600 block" }, Ae = { key: 1 }, Pe = { class: "py-[1rem] flex flex-col gap-6 text-center items-center" }, Fe = { class: "flex flex-col gap-1 mb-2" }, Ce = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Ve = { class: "mt-5 block" }, Te = /* @__PURE__ */ S({
103
+ }, Ie = { class: "flex flex-col gap-1" }, we = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, De = { class: "fm-typo-en-body-lg-600 block" }, Ae = { key: 1 }, Pe = { class: "py-[1rem] flex flex-col gap-6 text-center items-center" }, Fe = { class: "flex flex-col gap-1 mb-2" }, Ce = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Ve = { class: "mt-5 block" }, Te = /* @__PURE__ */ S({
104
104
  __name: "KioskDeviceCard",
105
105
  props: {
106
106
  device: {}
107
107
  },
108
108
  setup(e) {
109
- const { t } = K(), c = J(), u = Q(), m = ce(), s = f(!1), i = e, k = f(""), w = h(() => Object.entries(i.device.config)), E = h(() => {
109
+ const { t } = K(), c = J(), u = Q(), m = ce(), s = f(!1), i = e, k = f(""), D = h(() => Object.entries(i.device.config)), E = h(() => {
110
110
  var o;
111
111
  return ((o = i.device) == null ? void 0 : o.deviceAppType) === "TABLET_APP" ? "Tablet App" : "Kiosk App";
112
112
  });
@@ -146,8 +146,8 @@ const le = {
146
146
  const Y = h(() => {
147
147
  var o;
148
148
  return (o = i.device) == null ? void 0 : o.pinInfo;
149
- }), L = h(() => _.value ? "Re-enter new PIN" : "Enter new PIN"), _ = f(!1), g = f(), A = f();
150
- function j() {
149
+ }), j = h(() => _.value ? "Re-enter new PIN" : "Enter new PIN"), _ = f(!1), g = f(), A = f();
150
+ function L() {
151
151
  s.value = !0;
152
152
  }
153
153
  function P() {
@@ -196,7 +196,7 @@ const le = {
196
196
  s.value ? (l(), d("div", Ae, [
197
197
  n("div", Pe, [
198
198
  n("div", Fe, [
199
- n("span", Ce, r(L.value), 1),
199
+ n("span", Ce, r(j.value), 1),
200
200
  n("span", Ve, [
201
201
  _.value ? x("", !0) : (l(), N($, {
202
202
  key: 0,
@@ -241,14 +241,14 @@ const le = {
241
241
  class: "w-auto",
242
242
  variant: "primary",
243
243
  label: (B = o.device) != null && B.pinInfo ? "Reset Device PIN" : "Set Device PIN",
244
- onClick: j
244
+ onClick: L
245
245
  }, null, 8, ["label"])
246
246
  ]),
247
- (l(!0), d(V, null, T(w.value.filter((p) => p[1]), (p) => (l(), d("div", he, [
247
+ (l(!0), d(V, null, T(D.value.filter((p) => p[1]), (p) => (l(), d("div", he, [
248
248
  p[1] ? (l(), d("span", xe, r(p[0]), 1)) : x("", !0),
249
249
  p[1] ? (l(!0), d(V, { key: 1 }, T(Object.entries(p[1]), (C) => (l(), d("div", Ie, [
250
- n("span", De, r(C[0]), 1),
251
- n("span", we, r(C[1] == "" ? "-" : C[1]), 1)
250
+ n("span", we, r(C[0]), 1),
251
+ n("span", De, r(C[1] == "" ? "-" : C[1]), 1)
252
252
  ]))), 256)) : x("", !0)
253
253
  ]))), 256))
254
254
  ]))
@@ -265,7 +265,7 @@ const le = {
265
265
  ]);
266
266
  };
267
267
  }
268
- }), Ne = { class: "flex flex-col gap-2" }, Se = { class: "flex flex-col gap-2" }, Ke = { class: "fm-typo-en-title-sm-600 block" }, Oe = { class: "fm-typo-en-body-md-400 block" }, $e = { class: "flex flex-col gap-6" }, Le = /* @__PURE__ */ S({
268
+ }), Ne = { class: "flex flex-col gap-2" }, Se = { class: "flex flex-col gap-2" }, Ke = { class: "fm-typo-en-title-sm-600 block" }, Oe = { class: "fm-typo-en-body-md-400 block" }, $e = { class: "flex flex-col gap-6" }, je = /* @__PURE__ */ S({
269
269
  __name: "KioskDevicesView",
270
270
  props: {
271
271
  devices: {},
@@ -301,6 +301,6 @@ const le = {
301
301
  }
302
302
  });
303
303
  export {
304
- Le as _,
304
+ je as _,
305
305
  ce as u
306
306
  };
@@ -0,0 +1,552 @@
1
+ import { defineComponent as J, computed as C, ref as k, onMounted as ae, resolveComponent as x, createElementBlock as I, openBlock as _, Fragment as B, createVNode as o, createElementVNode as i, createCommentVNode as L, unref as a, withCtx as T, createTextVNode as ne, toDisplayString as v, renderList as H, withDirectives as U, vShow as N } from "vue";
2
+ import { F as R, c as r } from "./menu.dto-DgPhiIVk.js";
3
+ import { _ as te, u as ue } from "./index-BXsnV_eO.js";
4
+ import { useI18n as X } from "@feedmepos/mf-common";
5
+ import { useSnackbar as oe } from "@feedmepos/ui-library";
6
+ const de = { class: "flex flex-row items-center" }, ie = { key: 0 }, se = {
7
+ key: 1,
8
+ class: "ml-7"
9
+ }, re = { key: 0 }, me = { class: "font-bold" }, pe = {
10
+ key: 2,
11
+ class: "ml-7"
12
+ }, ye = { class: "ml-7" }, ce = { class: "ml-7" }, fe = { class: "flex flex-row gap-9" }, ve = /* @__PURE__ */ J({
13
+ __name: "KioskPaymentTypeSection",
14
+ props: {
15
+ paymentTypes: {
16
+ type: Array,
17
+ required: !0
18
+ },
19
+ offlinePaymentTypes: {
20
+ type: Array,
21
+ required: !0
22
+ },
23
+ allowEPayment: {
24
+ type: [Boolean, String],
25
+ required: !0
26
+ },
27
+ ePaymentTypes: {
28
+ type: Object,
29
+ required: !0
30
+ }
31
+ },
32
+ emits: ["update:paymentTypes", "update:offlinePaymentTypes", "update:ePaymentTypes"],
33
+ setup(w, { emit: Q }) {
34
+ const { t: e } = X(), c = w, A = Q;
35
+ async function q(d) {
36
+ A(
37
+ "update:offlinePaymentTypes",
38
+ c.offlinePaymentTypes.filter((t, n) => n !== d)
39
+ );
40
+ }
41
+ const l = C(() => (c.paymentTypes || []).includes(R.enum.ePayment)), E = C(() => {
42
+ const d = c.paymentTypes || [], t = c.offlinePaymentTypes || [];
43
+ return d.includes(R.enum.cash) || t.length > 0;
44
+ }), F = k(!1), y = k([]), S = k(), m = k([]), b = k(!1), O = k(!1), P = k(!1), g = [
45
+ { label: e("order.offlinePayment"), value: "offline" },
46
+ { label: e("order.ePayment"), value: "e-payment" }
47
+ ], M = () => {
48
+ const d = [];
49
+ E.value && d.push("offline"), l.value && d.push("e-payment"), y.value = d, F.value = d.length === g.length, Object.keys(c.ePaymentTypes).length !== 0 && (c.ePaymentTypes.terminal && (O.value = !0), c.ePaymentTypes.card.terminal ? (S.value = r.enum.TERMINAL, b.value = !0) : c.ePaymentTypes.card.nfc && (S.value = r.enum.NFC, b.value = !0), c.ePaymentTypes.eWallet.qrPay && (m.value.push(r.enum.QRPAY), P.value = !0), c.ePaymentTypes.eWallet.scanPay && (m.value.push(r.enum.SCANPAY), P.value = !0), c.ePaymentTypes.eWallet.terminalScanPay && (m.value.push(r.enum.TERMINAL_SCAN_PAY), P.value = !0), c.ePaymentTypes.eWallet.terminalQrPay && (m.value.push(r.enum.TERMINAL_QR_PAY), P.value = !0));
50
+ };
51
+ M();
52
+ const Y = (d) => {
53
+ y.value = d ? g.map((h) => h.value) : [], F.value = d;
54
+ const t = [], n = d ? c.offlinePaymentTypes || [] : [];
55
+ y.value.includes("e-payment") && (t.push(R.enum.ePayment), b.value = !0, P.value = !0), y.value.includes("offline") && t.push(R.enum.cash), A("update:paymentTypes", t), A("update:offlinePaymentTypes", n), f(b.value), V(P.value);
56
+ }, W = (d) => {
57
+ const t = y.value;
58
+ y.value = d, F.value = d.length === g.length;
59
+ const n = [], h = d.includes("offline") ? c.offlinePaymentTypes || [] : [];
60
+ d.includes("e-payment") && n.push(R.enum.ePayment), d.includes("offline") && n.push(R.enum.cash), t.includes("e-payment") || (b.value = !0, P.value = !0, f(b.value), V(P.value)), A("update:paymentTypes", n), A("update:offlinePaymentTypes", h);
61
+ }, s = (d) => {
62
+ const t = {
63
+ card: {
64
+ terminal: !1,
65
+ nfc: !1
66
+ },
67
+ eWallet: {
68
+ qrPay: !1,
69
+ scanPay: !1,
70
+ terminalScanPay: !1,
71
+ terminalQrPay: !1
72
+ }
73
+ };
74
+ y.value.includes("e-payment") && (d == r.enum.TERMINAL && (t.card.terminal = !0), d == r.enum.NFC && (t.card.nfc = !0), m.value.length > 0 && (m.value.includes(r.enum.QRPAY) && (t.eWallet.qrPay = !0), m.value.includes(r.enum.SCANPAY) && (t.eWallet.scanPay = !0), m.value.includes(r.enum.TERMINAL_SCAN_PAY) && (t.eWallet.terminalScanPay = !0), m.value.includes(r.enum.TERMINAL_QR_PAY) && (t.eWallet.terminalQrPay = !0))), A("update:ePaymentTypes", t);
75
+ }, u = () => {
76
+ const d = {
77
+ terminal: !1,
78
+ card: {
79
+ terminal: !1,
80
+ nfc: !1
81
+ },
82
+ eWallet: {
83
+ qrPay: !1,
84
+ scanPay: !1,
85
+ terminalScanPay: !1,
86
+ terminalQrPay: !1
87
+ }
88
+ };
89
+ y.value.includes("e-payment") && (S.value && (S.value === r.enum.TERMINAL && (d.card.terminal = !0), S.value === r.enum.NFC && (d.card.nfc = !0)), O.value && (d.terminal = !0), m.value.includes(r.enum.QRPAY) && (d.eWallet.qrPay = !0), m.value.includes(r.enum.SCANPAY) && (d.eWallet.scanPay = !0), m.value.includes(r.enum.TERMINAL_SCAN_PAY) && (d.eWallet.terminalScanPay = !0), m.value.includes(r.enum.TERMINAL_QR_PAY) && (d.eWallet.terminalQrPay = !0)), A("update:ePaymentTypes", d);
90
+ }, f = (d) => {
91
+ S.value = "", d && (S.value = r.enum.TERMINAL), u();
92
+ }, V = (d) => {
93
+ m.value = [], d && (m.value = [
94
+ r.enum.QRPAY,
95
+ r.enum.SCANPAY
96
+ ]), u();
97
+ };
98
+ return ae(() => {
99
+ M();
100
+ }), (d, t) => {
101
+ var K, G;
102
+ const n = x("FmCheckbox"), h = x("FmCardSection"), D = x("FmCard"), Z = x("FmButton"), $ = x("FmSwitch"), j = x("FmRadio"), ee = x("FmRadioGroup");
103
+ return _(), I(B, null, [
104
+ o(n, {
105
+ value: "",
106
+ "model-value": F.value,
107
+ label: a(e)("order.all"),
108
+ indeterminate: y.value.length > 0 && y.value.length < g.length,
109
+ "onUpdate:modelValue": Y
110
+ }, null, 8, ["model-value", "label", "indeterminate"]),
111
+ i("div", de, [
112
+ o(n, {
113
+ modelValue: y.value,
114
+ "onUpdate:modelValue": [
115
+ t[0] || (t[0] = (p) => y.value = p),
116
+ W
117
+ ],
118
+ label: g[0].label,
119
+ value: g[0].value
120
+ }, null, 8, ["modelValue", "label", "value"])
121
+ ]),
122
+ y.value.includes(g[0].value) && ((K = w.offlinePaymentTypes) == null ? void 0 : K.length) === 0 ? (_(), I("div", ie, [
123
+ o(te, {
124
+ "onUpdate:offlinePaymentTypes": t[1] || (t[1] = (p) => A("update:offlinePaymentTypes", p))
125
+ })
126
+ ])) : L("", !0),
127
+ y.value.includes("offline") ? (_(), I("div", se, [
128
+ ((G = w.offlinePaymentTypes) == null ? void 0 : G.length) === 0 ? (_(), I("div", re, [
129
+ o(D, { variant: "outlined" }, {
130
+ default: T(() => [
131
+ o(h, null, {
132
+ default: T(() => [
133
+ ne(v(a(e)("order.payAtCounter")), 1)
134
+ ]),
135
+ _: 1
136
+ })
137
+ ]),
138
+ _: 1
139
+ })
140
+ ])) : L("", !0),
141
+ (_(!0), I(B, null, H(w.offlinePaymentTypes, (p, le) => (_(), I("p", { key: le }, [
142
+ o(D, { variant: "outlined" }, {
143
+ default: T(() => [
144
+ o(h, { class: "flex items-center justify-between" }, {
145
+ default: T(() => [
146
+ i("div", null, [
147
+ i("span", me, v(p.name), 1),
148
+ t[11] || (t[11] = i("br", null, null, -1)),
149
+ i("span", null, v(p.instruction), 1)
150
+ ]),
151
+ (_(!0), I(B, null, H(w.offlinePaymentTypes, (Le, z) => (_(), I("div", { key: z }, [
152
+ o(Z, {
153
+ "append-icon": "delete",
154
+ variant: "tertiary",
155
+ onClick: (Qe) => q(z)
156
+ }, null, 8, ["onClick"])
157
+ ]))), 128))
158
+ ]),
159
+ _: 2
160
+ }, 1024)
161
+ ]),
162
+ _: 2
163
+ }, 1024)
164
+ ]))), 128))
165
+ ])) : L("", !0),
166
+ o(n, {
167
+ modelValue: y.value,
168
+ "onUpdate:modelValue": [
169
+ t[2] || (t[2] = (p) => y.value = p),
170
+ W
171
+ ],
172
+ label: g[1].label,
173
+ value: g[1].value
174
+ }, null, 8, ["modelValue", "label", "value"]),
175
+ y.value.includes(g[1].value) ? (_(), I("div", pe, [
176
+ o(D, { variant: "outlined" }, {
177
+ default: T(() => [
178
+ o(h, null, {
179
+ default: T(() => [
180
+ o($, {
181
+ label: a(e)("order.bankCard"),
182
+ sublabel: a(e)("order.cardPaymentDescription"),
183
+ "label-placement": "right",
184
+ modelValue: b.value,
185
+ "onUpdate:modelValue": [
186
+ t[3] || (t[3] = (p) => b.value = p),
187
+ f
188
+ ]
189
+ }, null, 8, ["label", "sublabel", "modelValue"]),
190
+ t[12] || (t[12] = i("br", null, null, -1)),
191
+ U(i("div", ye, [
192
+ o(ee, {
193
+ modelValue: S.value,
194
+ "onUpdate:modelValue": [
195
+ t[4] || (t[4] = (p) => S.value = p),
196
+ s
197
+ ],
198
+ inline: ""
199
+ }, {
200
+ default: T(() => [
201
+ o(j, {
202
+ label: a(e)("order.terminal"),
203
+ value: a(r).enum.TERMINAL
204
+ }, null, 8, ["label", "value"]),
205
+ o(j, {
206
+ label: a(e)("order.nfc"),
207
+ value: a(r).enum.NFC
208
+ }, null, 8, ["label", "value"])
209
+ ]),
210
+ _: 1
211
+ }, 8, ["modelValue"])
212
+ ], 512), [
213
+ [N, b.value]
214
+ ])
215
+ ]),
216
+ _: 1
217
+ })
218
+ ]),
219
+ _: 1
220
+ }),
221
+ o(D, {
222
+ variant: "outlined",
223
+ class: "mt-2"
224
+ }, {
225
+ default: T(() => [
226
+ o(h, null, {
227
+ default: T(() => [
228
+ o($, {
229
+ label: a(e)("order.terminal"),
230
+ sublabel: a(e)("order.terminalPaymentDescription"),
231
+ "label-placement": "right",
232
+ modelValue: O.value,
233
+ "onUpdate:modelValue": [
234
+ t[5] || (t[5] = (p) => O.value = p),
235
+ f
236
+ ]
237
+ }, null, 8, ["label", "sublabel", "modelValue"])
238
+ ]),
239
+ _: 1
240
+ })
241
+ ]),
242
+ _: 1
243
+ }),
244
+ o(D, {
245
+ variant: "outlined",
246
+ class: "mt-2"
247
+ }, {
248
+ default: T(() => [
249
+ o(h, null, {
250
+ default: T(() => [
251
+ o($, {
252
+ label: a(e)("order.eWallet"),
253
+ sublabel: a(e)("order.eWalletDescription"),
254
+ "label-placement": "right",
255
+ modelValue: P.value,
256
+ "onUpdate:modelValue": [
257
+ t[6] || (t[6] = (p) => P.value = p),
258
+ V
259
+ ]
260
+ }, null, 8, ["label", "sublabel", "modelValue"]),
261
+ t[13] || (t[13] = i("br", null, null, -1)),
262
+ U(i("div", ce, [
263
+ i("div", fe, [
264
+ o(n, {
265
+ modelValue: m.value,
266
+ "onUpdate:modelValue": [
267
+ t[7] || (t[7] = (p) => m.value = p),
268
+ u
269
+ ],
270
+ label: a(e)("order.qrPay"),
271
+ value: a(r).enum.QRPAY
272
+ }, null, 8, ["modelValue", "label", "value"]),
273
+ o(n, {
274
+ modelValue: m.value,
275
+ "onUpdate:modelValue": [
276
+ t[8] || (t[8] = (p) => m.value = p),
277
+ u
278
+ ],
279
+ label: a(e)("order.scanPay"),
280
+ value: a(r).enum.SCANPAY
281
+ }, null, 8, ["modelValue", "label", "value"]),
282
+ o(n, {
283
+ modelValue: m.value,
284
+ "onUpdate:modelValue": [
285
+ t[9] || (t[9] = (p) => m.value = p),
286
+ u
287
+ ],
288
+ label: a(e)("order.terminalScanPay"),
289
+ value: a(r).enum.TERMINAL_SCAN_PAY
290
+ }, null, 8, ["modelValue", "label", "value"]),
291
+ o(n, {
292
+ modelValue: m.value,
293
+ "onUpdate:modelValue": [
294
+ t[10] || (t[10] = (p) => m.value = p),
295
+ u
296
+ ],
297
+ label: a(e)("order.terminalQrPay"),
298
+ value: a(r).enum.TERMINAL_QR_PAY
299
+ }, null, 8, ["modelValue", "label", "value"])
300
+ ])
301
+ ], 512), [
302
+ [N, P.value]
303
+ ])
304
+ ]),
305
+ _: 1
306
+ })
307
+ ]),
308
+ _: 1
309
+ })
310
+ ])) : L("", !0)
311
+ ], 64);
312
+ };
313
+ }
314
+ }), be = {
315
+ key: 0,
316
+ class: "flex flex-col gap-32"
317
+ }, Pe = { class: "flex flex-col gap-2" }, ge = { class: "fm-typo-en-title-sm-600" }, Ve = { class: "flex flex-col gap-5" }, Se = { class: "flex flex-col gap-16" }, Te = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2 my-5 w-11/12" }, Ie = { class: "fm-typo-en-title-sm-600" }, _e = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2 my-5 w-11/12" }, xe = { class: "fm-typo-en-title-sm-600" }, Ae = { class: "flex flex-row gap-2" }, he = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2 my-5 w-11/12" }, ke = { class: "fm-typo-en-title-sm-600" }, Ce = { class: "flex flex-col gap-2" }, we = { class: "fm-typo-en-title-sm-600" }, Re = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2 my-5 w-11/12" }, Ue = { class: "fm-typo-en-title-sm-600" }, Ne = { class: "flex flex-col gap-2" }, Fe = { class: "fm-typo-en-title-sm-600" }, Oe = { class: "flex flex-col gap-2" }, Ee = { class: "fm-typo-en-title-sm-600" }, De = { class: "flex flex-col gap-2" }, Me = { class: "fm-typo-en-title-sm-600" }, Ye = { class: "fm-typo-en-title-sm-400 font-bold" }, We = { key: 1 }, Ge = /* @__PURE__ */ J({
318
+ __name: "KioskSettingView",
319
+ props: {
320
+ restaurantId: {},
321
+ form: {}
322
+ },
323
+ emits: ["updateKioskOrderSetting"],
324
+ setup(w, { emit: Q }) {
325
+ const { t: e } = X(), c = w, A = oe(), q = Q, l = k(c.form), E = (s) => s < 0 ? e("order.nonNegativeRule") : !0, F = (s) => s <= (l.value.dineIn.displayStand.standSlotRange.min ?? 0) ? e("order.greaterThanMinRule") : !0, y = C(() => [E]), S = C(() => [E]), m = C(() => [E, F]), b = C(() => {
326
+ const s = l.value;
327
+ if (s.dineIn.enabled && s.dineIn.displayStand.enabled) {
328
+ const { padDigit: u, standSlotRange: f } = s.dineIn.displayStand;
329
+ if (!(u != null && u >= 0 && f.min != null && f.max != null && f.min <= f.max)) return null;
330
+ }
331
+ return {
332
+ ...s,
333
+ dineIn: {
334
+ ...s.dineIn,
335
+ displayStand: {
336
+ ...s.dineIn.displayStand,
337
+ enabled: s.dineIn.enabled && s.dineIn.displayStand.enabled,
338
+ padDigit: s.dineIn.displayStand.padDigit ?? 0,
339
+ standSlotRange: {
340
+ min: s.dineIn.displayStand.standSlotRange.min ?? 0,
341
+ max: s.dineIn.displayStand.standSlotRange.max ?? 10
342
+ },
343
+ prefix: s.dineIn.displayStand.prefix ?? ""
344
+ }
345
+ }
346
+ };
347
+ }), { startAsyncCall: O } = ue();
348
+ function P(s) {
349
+ l.value.paymentSetting.paymentTypes = s;
350
+ }
351
+ function g(s) {
352
+ l.value.paymentSetting.ePaymentTypes = s;
353
+ }
354
+ const M = C(() => (l.value.paymentSetting.paymentTypes || []).includes(R.enum.ePayment)), Y = C({
355
+ get: () => (l.value.dineIn.displayStand.enabled && l.value.dineIn.displayStand.enablePaxDialog || l.value.dineIn.pickUp.enablePaxDialog) ?? !1,
356
+ set: (s) => {
357
+ l.value.dineIn.displayStand.enablePaxDialog = s, l.value.dineIn.pickUp.enablePaxDialog = s;
358
+ }
359
+ });
360
+ async function W() {
361
+ if (b.value) {
362
+ const s = b.value;
363
+ O(async () => {
364
+ await q("updateKioskOrderSetting", s);
365
+ });
366
+ } else
367
+ A.open({
368
+ title: e("order.failedToUpdateSetting"),
369
+ type: "error"
370
+ });
371
+ }
372
+ return (s, u) => {
373
+ const f = x("FmSwitch"), V = x("FmTextField"), d = x("FmStepperField"), t = x("FmButton");
374
+ return l.value ? (_(), I("div", be, [
375
+ i("div", Pe, [
376
+ i("span", ge, v(a(e)("order.dineIn")), 1),
377
+ i("div", Ve, [
378
+ o(f, {
379
+ modelValue: l.value.dineIn.enabled,
380
+ "onUpdate:modelValue": u[0] || (u[0] = (n) => l.value.dineIn.enabled = n),
381
+ label: a(e)("order.dineIn"),
382
+ "label-placement": "right"
383
+ }, null, 8, ["modelValue", "label"]),
384
+ U(i("div", Se, [
385
+ i("div", null, [
386
+ o(f, {
387
+ modelValue: l.value.dineIn.pickUp.enabled,
388
+ "onUpdate:modelValue": u[1] || (u[1] = (n) => l.value.dineIn.pickUp.enabled = n),
389
+ label: a(e)("order.pickAtCounter"),
390
+ "label-placement": "right"
391
+ }, null, 8, ["modelValue", "label"]),
392
+ U(i("div", Te, [
393
+ i("span", Ie, v(a(e)("order.submitOrderInstruction")), 1),
394
+ o(V, {
395
+ modelValue: l.value.dineIn.pickUp.submitOrderInstruction.payAtCounter,
396
+ "onUpdate:modelValue": u[2] || (u[2] = (n) => l.value.dineIn.pickUp.submitOrderInstruction.payAtCounter = n),
397
+ label: a(e)("order.payAtCounter"),
398
+ placeholder: "Collect your transaction slip below and present it to the cashier"
399
+ }, null, 8, ["modelValue", "label"]),
400
+ o(V, {
401
+ modelValue: l.value.dineIn.pickUp.submitOrderInstruction.paid,
402
+ "onUpdate:modelValue": u[3] || (u[3] = (n) => l.value.dineIn.pickUp.submitOrderInstruction.paid = n),
403
+ label: a(e)("order.paid"),
404
+ placeholder: "Please wait as we prepare your food. We'll call your number when it's ready."
405
+ }, null, 8, ["modelValue", "label"])
406
+ ], 512), [
407
+ [N, l.value.dineIn.pickUp.enabled]
408
+ ])
409
+ ]),
410
+ i("div", null, [
411
+ o(f, {
412
+ modelValue: l.value.dineIn.displayStand.enabled,
413
+ "onUpdate:modelValue": u[4] || (u[4] = (n) => l.value.dineIn.displayStand.enabled = n),
414
+ label: a(e)("order.displayStand"),
415
+ "label-placement": "right"
416
+ }, null, 8, ["modelValue", "label"]),
417
+ U(i("div", _e, [
418
+ i("span", xe, v(a(e)("order.tableServiceSetting")), 1),
419
+ o(V, {
420
+ modelValue: l.value.dineIn.displayStand.prefix,
421
+ "onUpdate:modelValue": u[5] || (u[5] = (n) => l.value.dineIn.displayStand.prefix = n),
422
+ label: a(e)("order.prefix"),
423
+ placeholder: a(e)("order.prefix")
424
+ }, null, 8, ["modelValue", "label", "placeholder"]),
425
+ i("div", Ae, [
426
+ o(d, {
427
+ modelValue: l.value.dineIn.displayStand.standSlotRange.min,
428
+ "onUpdate:modelValue": u[6] || (u[6] = (n) => l.value.dineIn.displayStand.standSlotRange.min = n),
429
+ class: "w-1/2",
430
+ label: a(e)("order.start"),
431
+ labelMark: "required",
432
+ rules: S.value,
433
+ placeholder: a(e)("order.enterANumber")
434
+ }, null, 8, ["modelValue", "label", "rules", "placeholder"]),
435
+ o(d, {
436
+ modelValue: l.value.dineIn.displayStand.standSlotRange.max,
437
+ "onUpdate:modelValue": u[7] || (u[7] = (n) => l.value.dineIn.displayStand.standSlotRange.max = n),
438
+ class: "w-1/2",
439
+ label: a(e)("order.end"),
440
+ labelMark: "required",
441
+ rules: m.value,
442
+ placeholder: a(e)("order.enterANumber")
443
+ }, null, 8, ["modelValue", "label", "rules", "placeholder"])
444
+ ]),
445
+ o(d, {
446
+ modelValue: l.value.dineIn.displayStand.padDigit,
447
+ "onUpdate:modelValue": u[8] || (u[8] = (n) => l.value.dineIn.displayStand.padDigit = n),
448
+ label: a(e)("order.padDigit"),
449
+ labelMark: "required",
450
+ rules: y.value,
451
+ placeholder: a(e)("order.padDigit")
452
+ }, null, 8, ["modelValue", "label", "rules", "placeholder"])
453
+ ], 512), [
454
+ [N, l.value.dineIn.displayStand.enabled]
455
+ ]),
456
+ U(i("div", he, [
457
+ i("span", ke, v(a(e)("order.submitOrderInstruction")), 1),
458
+ o(V, {
459
+ modelValue: l.value.dineIn.displayStand.submitOrderInstruction.payAtCounter,
460
+ "onUpdate:modelValue": u[9] || (u[9] = (n) => l.value.dineIn.displayStand.submitOrderInstruction.payAtCounter = n),
461
+ label: a(e)("order.payAtCounter"),
462
+ placeholder: "Collect your transaction slip below and present it to the cashier"
463
+ }, null, 8, ["modelValue", "label"]),
464
+ o(V, {
465
+ modelValue: l.value.dineIn.displayStand.submitOrderInstruction.paid,
466
+ "onUpdate:modelValue": u[10] || (u[10] = (n) => l.value.dineIn.displayStand.submitOrderInstruction.paid = n),
467
+ label: a(e)("order.paid"),
468
+ placeholder: "Please collect your receipt and we'll bring your food to your table once it's ready."
469
+ }, null, 8, ["modelValue", "label"])
470
+ ], 512), [
471
+ [N, l.value.dineIn.displayStand.enabled]
472
+ ])
473
+ ])
474
+ ], 512), [
475
+ [N, l.value.dineIn.enabled]
476
+ ])
477
+ ])
478
+ ]),
479
+ i("div", Ce, [
480
+ i("span", we, v(a(e)("order.takeawayTitle")), 1),
481
+ o(f, {
482
+ modelValue: l.value.takeaway.enabled,
483
+ "onUpdate:modelValue": u[11] || (u[11] = (n) => l.value.takeaway.enabled = n),
484
+ label: a(e)("order.takeaway"),
485
+ "label-placement": "right",
486
+ class: "mb-5"
487
+ }, null, 8, ["modelValue", "label"]),
488
+ U(i("div", Re, [
489
+ i("span", Ue, v(a(e)("order.submitOrderInstruction")), 1),
490
+ o(V, {
491
+ modelValue: l.value.takeaway.submitOrderInstruction.payAtCounter,
492
+ "onUpdate:modelValue": u[12] || (u[12] = (n) => l.value.takeaway.submitOrderInstruction.payAtCounter = n),
493
+ label: a(e)("order.payAtCounter"),
494
+ placeholder: "Collect your transaction slip below and present it to the cashier"
495
+ }, null, 8, ["modelValue", "label"]),
496
+ o(V, {
497
+ modelValue: l.value.takeaway.submitOrderInstruction.paid,
498
+ "onUpdate:modelValue": u[13] || (u[13] = (n) => l.value.takeaway.submitOrderInstruction.paid = n),
499
+ label: a(e)("order.paid"),
500
+ placeholder: "Please wait as we prepare your food. We'll call your number when it's ready."
501
+ }, null, 8, ["modelValue", "label"])
502
+ ], 512), [
503
+ [N, l.value.takeaway.enabled]
504
+ ])
505
+ ]),
506
+ i("div", Ne, [
507
+ i("span", Fe, v(a(e)("order.menuItem")), 1),
508
+ o(f, {
509
+ modelValue: l.value.menuItem.showAllOnly,
510
+ "onUpdate:modelValue": u[14] || (u[14] = (n) => l.value.menuItem.showAllOnly = n),
511
+ label: a(e)("order.showNotAvailableMenuItem"),
512
+ "label-placement": "right",
513
+ class: "mb-5"
514
+ }, null, 8, ["modelValue", "label"])
515
+ ]),
516
+ i("div", Oe, [
517
+ i("span", Ee, v(a(e)("order.displayPaxDialogTitle")), 1),
518
+ o(f, {
519
+ modelValue: Y.value,
520
+ "onUpdate:modelValue": u[15] || (u[15] = (n) => Y.value = n),
521
+ label: a(e)("order.displayPaxDialogDescription"),
522
+ "label-placement": "right",
523
+ class: "mb-5"
524
+ }, null, 8, ["modelValue", "label"])
525
+ ]),
526
+ i("div", De, [
527
+ i("span", Me, v(a(e)("order.acceptedPayment")), 1),
528
+ i("span", Ye, v(a(e)("order.configuration")), 1),
529
+ o(ve, {
530
+ "payment-types": l.value.paymentSetting.paymentTypes ?? [],
531
+ "allow-e-payment": M.value,
532
+ "offline-payment-types": l.value.paymentSetting.offlinePaymentTypes ?? [],
533
+ ePaymentTypes: l.value.paymentSetting.ePaymentTypes ?? {},
534
+ "onUpdate:paymentTypes": P,
535
+ "onUpdate:offlinePaymentTypes": u[16] || (u[16] = (n) => l.value.paymentSetting.offlinePaymentTypes = n),
536
+ "onUpdate:ePaymentTypes": g
537
+ }, null, 8, ["payment-types", "allow-e-payment", "offline-payment-types", "ePaymentTypes"])
538
+ ]),
539
+ o(t, {
540
+ class: "w-1/4 mb-10",
541
+ variant: "primary",
542
+ label: a(e)("order.updateSetting"),
543
+ disabled: !b.value,
544
+ onClick: W
545
+ }, null, 8, ["label", "disabled"])
546
+ ])) : (_(), I("div", We, v(a(e)("order.pleaseSelectRestaurant")), 1));
547
+ };
548
+ }
549
+ });
550
+ export {
551
+ Ge as default
552
+ };