@feedmepos/mf-order-setting 0.0.26 → 0.0.27

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 (104) hide show
  1. package/dist/{KioskDevicesView-BiF6v7Zj.js → KioskDevicesView-AKvyDF3w.js} +1 -1
  2. package/dist/KioskDevicesView.vue_vue_type_script_setup_true_lang-Cx8VMyNB.js +301 -0
  3. package/dist/{KioskSettingView-COhGcRtP.js → KioskSettingView-equ5EIvU.js} +3 -3
  4. package/dist/{KioskView-C1T-n1MY.js → KioskView-CsE7BGtA.js} +5 -5
  5. package/dist/OrderSettingsView-BpLXyk_0.js +49013 -0
  6. package/dist/{app-BfWp4ow3.js → app-D-zQN9_E.js} +293 -31
  7. package/dist/app.js +1 -1
  8. package/dist/{dayjs.min-BHDLv42p.js → dayjs.min-CWQSmujV.js} +600 -619
  9. package/dist/frontend/mf-order/src/App.vue.d.ts +1 -1
  10. package/dist/frontend/mf-order/src/Entry.vue.d.ts +1 -1
  11. package/dist/frontend/mf-order/src/api/kiosk/index.d.ts +2 -0
  12. package/dist/frontend/mf-order/src/app.d.ts +264 -0
  13. package/dist/frontend/mf-order/src/components/GoogleMap.vue.d.ts +3 -5
  14. package/dist/frontend/mf-order/src/main.d.ts +7 -0
  15. package/dist/frontend/mf-order/src/modules/kiosk/interface.d.ts +5 -1
  16. package/dist/frontend/mf-order/src/stores/kiosk/index.d.ts +16 -1
  17. package/dist/frontend/mf-order/src/stores/menu/menu.d.ts +82 -0
  18. package/dist/frontend/mf-order/src/views/all-orders/ActionMenuCell.vue.d.ts +2 -2
  19. package/dist/frontend/mf-order/src/views/all-orders/FilterRestaurant.vue.d.ts +1 -1
  20. package/dist/frontend/mf-order/src/views/all-orders/FilterStatus.vue.d.ts +2 -2
  21. package/dist/frontend/mf-order/src/views/all-orders/FilterStatusMenu.vue.d.ts +2 -2
  22. package/dist/frontend/mf-order/src/views/all-orders/ReflowOrder.vue.d.ts +2 -2
  23. package/dist/frontend/mf-order/src/views/all-orders/UpdateDeliveryOrderDialog.vue.d.ts +2 -2
  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 +2 -2
  31. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDineInSection.vue.d.ts +2 -2
  32. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDisplayStandSection.vue.d.ts +2 -2
  33. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskEnablePaxDialogSection.vue.d.ts +2 -2
  34. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskInstructionSection.vue.d.ts +2 -2
  35. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskMenuItemSection.vue.d.ts +1 -1
  36. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPaymentTypeSection.vue.d.ts +1 -1
  37. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPickAtCounterSection.vue.d.ts +2 -2
  38. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskSettingView.vue.d.ts +1 -1
  39. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskTakeawaySection.vue.d.ts +2 -2
  40. package/dist/frontend/mf-order/src/views/order-settings/delivery/DeliveryList.vue.d.ts +2 -2
  41. package/dist/frontend/mf-order/src/views/order-settings/delivery/components/ManualIntegratedDeliverySetting.vue.d.ts +1 -1
  42. package/dist/frontend/mf-order/src/views/order-settings/delivery/components/TaxInput.vue.d.ts +2 -2
  43. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/CurrencyInput.vue.d.ts +1 -1
  44. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryCustomTime.vue.d.ts +1 -1
  45. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryOrder.vue.d.ts +6 -141
  46. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryTime.vue.d.ts +1 -1
  47. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/InHouseDelivery.vue.d.ts +1 -1
  48. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/TimePicker.vue.d.ts +1 -1
  49. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/ZoneDialog.vue.d.ts +1 -1
  50. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue.d.ts +2 -2
  51. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FeedmeDelivery.vue.d.ts +1 -1
  52. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FoodpandaCampaignDialog.vue.d.ts +1 -1
  53. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue.d.ts +1 -1
  54. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/GrabfoodSetting.vue.d.ts +1 -1
  55. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue.d.ts +5 -5
  56. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue.d.ts +1 -1
  57. package/dist/frontend/mf-order/src/views/order-settings/dine-in/OfflinePaymentTypeDialog.vue.d.ts +1 -1
  58. package/dist/frontend/mf-order/src/views/order-settings/dine-in/OfflinePaymentTypeDialogContent.vue.d.ts +2 -2
  59. package/dist/frontend/mf-order/src/views/order-settings/dine-in/PaymentType.vue.d.ts +1 -1
  60. package/dist/frontend/mf-order/src/views/order-settings/pickup/AddressInput.vue.d.ts +1 -1
  61. package/dist/frontend/mf-order/src/views/order-settings/pickup/CustomPayment.vue.d.ts +1 -1
  62. package/dist/frontend/mf-order/src/views/order-settings/pickup/PaymentSidesheet.vue.d.ts +2 -2
  63. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpPointDialog.vue.d.ts +1 -1
  64. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpPointDialogContent.vue.d.ts +2 -137
  65. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpSettingDialog.vue.d.ts +1 -1
  66. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpSettingDialogContent.vue.d.ts +1 -1
  67. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickupList.vue.d.ts +2 -2
  68. package/dist/frontend/mf-order/src/views/order-settings/pickup/Preorder.vue.d.ts +1 -1
  69. package/dist/frontend/mf-order/src/views/order-settings/servicecharge/RateInput.vue.d.ts +1 -1
  70. package/dist/frontend/mf-order/src/views/order-settings/servicecharge/ServiceChargeRule.vue.d.ts +1 -1
  71. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  72. package/dist/{index-DSCb3ndM.js → index-BXsnV_eO.js} +5 -5
  73. package/dist/{index-B5kfsi9C.js → index-BwrMcIf2.js} +2 -2
  74. package/dist/package/entity/cursor/cursor.dto.d.ts +2 -2
  75. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +7 -7
  76. package/dist/package/entity/incoming-order/incoming-order.do.d.ts +22 -9
  77. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +18 -18
  78. package/dist/package/entity/kiosk/kiosk.do.d.ts +32 -0
  79. package/dist/package/entity/kiosk/kiosk.dto.d.ts +79 -0
  80. package/dist/package/entity/order/dine-in/dine-in.do.d.ts +8 -8
  81. package/dist/package/entity/order/dine-in/dine-in.dto.d.ts +4 -4
  82. package/dist/package/entity/order/menu/menu.dto.d.ts +12 -12
  83. package/dist/package/entity/order/order-item/order-item.dto.d.ts +14 -8
  84. package/dist/package/entity/order/order.do.d.ts +19 -19
  85. package/dist/package/entity/order/order.dto.d.ts +134 -128
  86. package/dist/package/entity/order/order.enum.d.ts +2 -2
  87. package/dist/package/entity/order-platform/menu.dto.d.ts +31 -0
  88. package/dist/queue.do-F110q0_J.js +100389 -0
  89. package/package.json +3 -3
  90. package/src/api/kiosk/index.ts +9 -4
  91. package/src/app.ts +4 -1
  92. package/src/locales/th-TH.json +8 -1
  93. package/src/modules/kiosk/interface.ts +5 -1
  94. package/src/stores/kiosk/index.ts +9 -4
  95. package/src/stores/kiosk/mapper.ts +5 -1
  96. package/src/views/kiosk/devices/KioskDeviceCard.vue +202 -80
  97. package/src/views/order-settings/delivery/DeliverySetting.vue +1 -1
  98. package/src/views/order-settings/delivery/delivery.data.ts +2 -2
  99. package/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue +14 -2
  100. package/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue +2 -34
  101. package/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue +15 -12
  102. package/dist/KioskDevicesView.vue_vue_type_script_setup_true_lang-1r_DBAc-.js +0 -207
  103. package/dist/OrderSettingsView-CI5bdVXr.js +0 -72108
  104. package/dist/queue.do-y-ubeoKZ.js +0 -122897
@@ -53,10 +53,9 @@ const emits = defineEmits<{
53
53
  }>()
54
54
 
55
55
  const menuStore = useMenuStore()
56
- // const userStore = useUserStore();
57
- const { sessionUser } = useCoreStore()
56
+ const CoreStore = useCoreStore()
58
57
 
59
- const canEdit = computed(() => sessionUser.value?.role.isAdmin ?? false)
58
+ const canEdit = computed(() => CoreStore.sessionUser.value?.role.isAdmin ?? false)
60
59
 
61
60
  function updateManual(manual: FdoLinkedDelivery | null) {
62
61
  emits('update:model-value', {
@@ -120,7 +119,6 @@ type OrderSettingKey = 'autoAcceptOrder' | 'autoCloseBill' | 'ignoreDiscount' |
120
119
  const orderSettingValue = computed(() => {
121
120
  const { autoAccept, autoCloseBill, ignoreDiscount, sstInclusive } = props.modelValue.auto
122
121
  const value: OrderSettingKey[] = []
123
- if (autoAccept) value.push('autoAcceptOrder')
124
122
  if (autoCloseBill) value.push('autoCloseBill')
125
123
  if (ignoreDiscount) value.push('ignoreDiscount')
126
124
  if (sstInclusive) value.push('sstInclusive')
@@ -141,12 +139,6 @@ const orderSettingOptions = computed<
141
139
  value: 'autoCloseBill'
142
140
  }
143
141
  ]
144
- if (props.modelValue.auto.autoAccept !== undefined) {
145
- options.unshift({
146
- label: t('order.allowedAutoAcceptOrder'),
147
- value: 'autoAcceptOrder'
148
- })
149
- }
150
142
  if (props.modelValue.auto.autoAccept !== undefined) {
151
143
  options.push({
152
144
  label: t('order.ignoreDiscount'),
@@ -193,6 +185,7 @@ function convertStatusI18n(status: string) {
193
185
  />
194
186
  <div v-if="canUseAutoDeliveryIntegration === true" class="mt-10">
195
187
  <FmSwitch
188
+ :disabled="!canEdit"
196
189
  :model-value="modelValue.auto.enable"
197
190
  :label="t('order.activateIntegration', { integrationType: t('order.auto') })"
198
191
  label-placement="right"
@@ -202,6 +195,7 @@ function convertStatusI18n(status: string) {
202
195
  <div v-if="modelValue.auto.enable">
203
196
  <FmCard variant="outlined" class="mt-10 p-5">
204
197
  <FmTextField
198
+ :disabled="!canEdit"
205
199
  :model-value="modelValue.auto.integrationId"
206
200
  :label="t('order.remoteId')"
207
201
  @update:model-value="updateIntegrateId"
@@ -217,6 +211,7 @@ function convertStatusI18n(status: string) {
217
211
  :label="item.label"
218
212
  :value="item.value"
219
213
  @update:model-value="updateOrderSettings"
214
+ :disabled="!canEdit"
220
215
  />
221
216
  </div>
222
217
  </div>
@@ -226,6 +221,7 @@ function convertStatusI18n(status: string) {
226
221
  :model-value="modelValue.auto.commissionRate"
227
222
  :label="t('order.commission')"
228
223
  @update:model-value="updateCommission"
224
+ :disabled="!canEdit"
229
225
  >
230
226
  <template #append>%</template>
231
227
  </FmTextField>
@@ -238,6 +234,7 @@ function convertStatusI18n(status: string) {
238
234
  :label="t('order.catalog')"
239
235
  :items="menuStore.catalogOptions"
240
236
  @update:model-value="updateMenuCatalog"
237
+ :disabled="!canEdit"
241
238
  />
242
239
  </div>
243
240
 
@@ -250,6 +247,7 @@ function convertStatusI18n(status: string) {
250
247
  v-if="modelValue.auto.status === 'FAILED' && modelValue.auto.menuSyncError !== null"
251
248
  :content="modelValue.auto.menuSyncError"
252
249
  :zIndex="1000"
250
+ :disabled="!canEdit"
253
251
  >
254
252
  <FmIcon name="info" size="sm" />
255
253
  </FmTooltip>
@@ -261,7 +259,12 @@ function convertStatusI18n(status: string) {
261
259
  </div>
262
260
  </div>
263
261
  <div class="flex flex-row">
264
- <FmButton variant="primary" :label="t('order.syncMenu')" @click="emits('syncMenu')" />
262
+ <FmButton
263
+ variant="primary"
264
+ :label="t('order.syncMenu')"
265
+ @click="emits('syncMenu')"
266
+ :disabled="!canEdit"
267
+ />
265
268
 
266
269
  <div
267
270
  v-if="modelValue.auto.lastSynchronize"
@@ -272,7 +275,7 @@ function convertStatusI18n(status: string) {
272
275
  </div>
273
276
  </div>
274
277
 
275
- <slot :editable="canEdit" />
278
+ <slot :editable="!canEdit" />
276
279
  </FmCard>
277
280
  </div>
278
281
  </div>
@@ -1,207 +0,0 @@
1
- import { defineComponent as g, ref as D, resolveComponent as f, openBlock as i, createElementBlock as c, createElementVNode as a, toDisplayString as d, unref as m, createVNode as v, computed as B, withCtx as F, Fragment as y, renderList as h, createCommentVNode as C, createBlock as M } from "vue";
2
- import { useDialog as O, useSnackbar as q } from "@feedmepos/ui-library";
3
- import { useI18n as I } from "@feedmepos/mf-common";
4
- import { defineStore as N } from "pinia";
5
- import { r as w, g as K, D as T } from "./dayjs.min-BHDLv42p.js";
6
- import "./queue.do-y-ubeoKZ.js";
7
- const U = /* @__PURE__ */ g({
8
- __name: "KioskUnbindConfirm",
9
- props: {
10
- machineId: {}
11
- },
12
- emits: ["update:modelValue"],
13
- setup(e, { emit: t }) {
14
- const { t: n } = I(), l = t, o = D("");
15
- function s(r) {
16
- l("update:modelValue", r);
17
- }
18
- return (r, x) => {
19
- const _ = f("FmTextField");
20
- return i(), c("div", null, [
21
- a("span", null, d(m(n)("order.unbindKioskDeviceWarning", { machineId: r.machineId })), 1),
22
- v(_, {
23
- "model-value": o.value,
24
- "onUpdate:modelValue": s,
25
- placeholder: r.machineId
26
- }, null, 8, ["model-value", "placeholder"])
27
- ]);
28
- };
29
- }
30
- });
31
- async function Y() {
32
- const e = await w().get("/kiosk/otp");
33
- return K(e);
34
- }
35
- async function j() {
36
- const e = await w().get("/kiosk/devices");
37
- return K(e);
38
- }
39
- async function L(e) {
40
- await w().delete(`/kiosk/unbind/${e}`);
41
- }
42
- const k = {
43
- requestOtp: Y,
44
- getDevices: j,
45
- unbind: L
46
- }, W = (e) => ({
47
- name: e.name ?? "N/A",
48
- machineId: e.machineId,
49
- config: {
50
- scannerInfo: e.scannerInfo ?? void 0,
51
- printerInfo: e.printerInfo ?? void 0,
52
- terminalInfo: e.terminalInfo ?? void 0
53
- },
54
- activatedAt: H(e.token)
55
- });
56
- function H(e) {
57
- const t = e.substring(0, 8), n = parseInt(t, 16);
58
- return new Date(n * 1e3);
59
- }
60
- const P = {
61
- toMfKioskDevice: W
62
- }, z = N("kiosk", () => {
63
- const e = D({
64
- otp: "",
65
- devices: []
66
- });
67
- async function t() {
68
- const o = await k.requestOtp();
69
- e.value.otp = o.otp;
70
- }
71
- async function n() {
72
- const o = await k.getDevices();
73
- e.value.devices = o.map((s) => P.toMfKioskDevice(s));
74
- }
75
- async function l(o) {
76
- await k.unbind(o), await n();
77
- }
78
- return {
79
- state: e.value,
80
- requestOtp: t,
81
- getDevices: n,
82
- unbind: l
83
- };
84
- }), E = { class: "border fm-corner-radius-lg flex justify-between pr-[1rem] w-11/12" }, G = { class: "py-[1rem] flex flex-col gap-6" }, J = { class: "fm-typo-en-title-sm-600" }, Q = { class: "w-full border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2" }, R = {
85
- key: 0,
86
- class: "fm-typo-en-title-sm-600"
87
- }, X = { class: "flex flex-col gap-1" }, Z = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, ee = { class: "fm-typo-en-body-lg-600 block" }, te = /* @__PURE__ */ g({
88
- __name: "KioskDeviceCard",
89
- props: {
90
- device: {}
91
- },
92
- setup(e) {
93
- const { t } = I(), n = O(), l = q(), o = z(), s = e, r = D(""), x = B(() => Object.entries(s.device.config));
94
- function _() {
95
- r.value = "", n.open({
96
- title: t("order.unbindKioskDevice"),
97
- contentComponent: U,
98
- contentComponentProps: {
99
- machineId: s.device.machineId,
100
- "onUpdate:modelValue": (p) => {
101
- r.value = p;
102
- }
103
- },
104
- dismissAway: !1,
105
- primaryActions: {
106
- text: t("order.unbind"),
107
- variant: "destructive",
108
- close: !1
109
- },
110
- secondaryActions: {
111
- text: t("order.cancel"),
112
- variant: "tertiary",
113
- close: !0
114
- }
115
- }).onPrimary(async () => {
116
- r.value == s.device.machineId ? (await V(), l.open({
117
- type: "success",
118
- message: t("order.unbindSuccess"),
119
- position: "bottom"
120
- }), n.close()) : l.open({
121
- type: "warning",
122
- message: t("order.unbindWarning"),
123
- position: "bottom"
124
- });
125
- });
126
- }
127
- async function V() {
128
- await o.unbind(s.device.machineId);
129
- }
130
- return (p, ce) => {
131
- const S = f("FmListItem"), $ = f("FmSideSheet"), A = f("FmButton");
132
- return i(), c("div", E, [
133
- v($, {
134
- header: m(t)("order.deviceDetails"),
135
- "dismiss-away": "",
136
- class: "w-full",
137
- maxWidth: 700
138
- }, {
139
- "side-sheet-button": F(() => [
140
- v(S, {
141
- class: "flex-1",
142
- label: p.device.name,
143
- sublabel: `${m(t)("order.activatedDate")}: ${m(T)(p.device.activatedAt).format("DD MMM YYYY HH:mm")}`
144
- }, null, 8, ["label", "sublabel"])
145
- ]),
146
- default: F(() => [
147
- a("div", G, [
148
- a("span", J, d(p.device.name), 1),
149
- (i(!0), c(y, null, h(x.value.filter((u) => u[1]), (u) => (i(), c("div", Q, [
150
- u[1] ? (i(), c("span", R, d(u[0]), 1)) : C("", !0),
151
- u[1] ? (i(!0), c(y, { key: 1 }, h(Object.entries(u[1]), (b) => (i(), c("div", X, [
152
- a("span", Z, d(b[0]), 1),
153
- a("span", ee, d(b[1] == "" ? "-" : b[1]), 1)
154
- ]))), 256)) : C("", !0)
155
- ]))), 256))
156
- ])
157
- ]),
158
- _: 1
159
- }, 8, ["header"]),
160
- v(A, {
161
- variant: "plain",
162
- "append-icon": "link_off",
163
- class: "text-fm-color-system-error-300 align-middle my-auto",
164
- onClick: _
165
- })
166
- ]);
167
- };
168
- }
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({
170
- __name: "KioskDevicesView",
171
- props: {
172
- devices: {},
173
- requestOtp: { type: Function }
174
- },
175
- setup(e) {
176
- const { t } = I();
177
- return (n, l) => {
178
- const o = f("FmButton");
179
- return i(), c("div", null, [
180
- a("div", ne, [
181
- a("div", oe, [
182
- a("span", se, d(m(t)("order.kioskDisplay")), 1),
183
- a("span", ie, d(m(t)("order.kioskDisplayDescription")), 1)
184
- ]),
185
- a("div", ae, [
186
- (i(!0), c(y, null, h(n.devices, (s) => (i(), M(te, {
187
- key: s.machineId,
188
- device: s
189
- }, null, 8, ["device"]))), 128)),
190
- v(o, {
191
- variant: "plain",
192
- class: "w-[10rem] border border-fm-color-primary fm-corner-radius-lg",
193
- label: m(t)("order.bindDevice"),
194
- size: "md",
195
- "prepend-icon": "link",
196
- onClick: n.requestOtp
197
- }, null, 8, ["label", "onClick"])
198
- ])
199
- ])
200
- ]);
201
- };
202
- }
203
- });
204
- export {
205
- fe as _,
206
- z as u
207
- };