@feedmepos/mf-order-setting 0.0.50 → 0.0.52

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 (42) hide show
  1. package/dist/{KioskDevicesView-u14hzPbE.js → KioskDevicesView-D_YT-CL0.js} +1 -1
  2. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-DBgRDIoS.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-Bxv6oiFw.js} +2 -2
  3. package/dist/KioskSettingView-DS5vEQ07.js +573 -0
  4. package/dist/{KioskView-M8V91gD5.js → KioskView-B8NHcyGz.js} +111 -108
  5. package/dist/{OrderSettingsView-Bl3LshG3.js → OrderSettingsView-BhEN-2ZZ.js} +2940 -2941
  6. package/dist/{app-CLewMjcd.js → app-BWFBpJUR.js} +20 -12
  7. package/dist/app.js +1 -1
  8. package/dist/{dayjs.min-DCTYRWyD.js → dayjs.min-CD9R3x-Y.js} +1 -1
  9. package/dist/frontend/mf-order/src/app.d.ts +8 -0
  10. package/dist/frontend/mf-order/src/main.d.ts +8 -0
  11. package/dist/frontend/mf-order/src/modules/order-setting/kiosk/interface.d.ts +2 -0
  12. package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +6 -0
  13. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  14. package/dist/{index-B7LtJeBJ.js → index-Bjwv8B4h.js} +2 -2
  15. package/dist/{menu.dto-Co7iXHNr.js → menu.dto-Wzm4Tz0i.js} +1577 -1572
  16. package/dist/package/entity/food-court/order.do.d.ts +26 -1
  17. package/dist/package/entity/food-court/order.dto.d.ts +0 -3
  18. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +15 -0
  19. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +18 -0
  20. package/dist/package/entity/order/order-item/order-item.dto.d.ts +30 -0
  21. package/dist/package/entity/order/order.do.d.ts +8 -0
  22. package/dist/package/entity/order/order.dto.d.ts +118 -0
  23. package/dist/package/entity/order-platform/external/menu/external-master-menu.do.d.ts +20 -0
  24. package/dist/package/entity/order-platform/external/menu/external-menu.do.d.ts +23 -0
  25. package/dist/package/entity/order-platform/menu.dto.d.ts +34 -0
  26. package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +3 -0
  27. package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +3 -0
  28. package/dist/package/entity/order-setting/order-setting.do.d.ts +5 -0
  29. package/dist/package/entity/order-setting/order-setting.dto.d.ts +10 -0
  30. package/dist/package/entity/queue/queue.dto.d.ts +25 -0
  31. package/dist/package/entity/restaurant/restaurant.dto.d.ts +5 -0
  32. package/dist/package/entity/websocket/websocket.dto.d.ts +12 -0
  33. package/package.json +1 -1
  34. package/src/locales/en-US.json +3 -1
  35. package/src/locales/ja-JP.json +11 -9
  36. package/src/locales/th-TH.json +3 -1
  37. package/src/locales/zh-CN.json +3 -1
  38. package/src/modules/order-setting/kiosk/interface.ts +15 -13
  39. package/src/stores/order-setting/mapper.ts +16 -13
  40. package/src/views/kiosk/settings/KioskSettingView.vue +43 -23
  41. package/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue +3 -1
  42. package/dist/KioskSettingView-DmvtZcV1.js +0 -553
@@ -77,7 +77,8 @@ export const defaultKioskOrderSetting: MfKioskOrderSettingForm = {
77
77
  },
78
78
  menuItem: {
79
79
  showAllOnly: false
80
- }
80
+ },
81
+ otaChannel: ''
81
82
  }
82
83
 
83
84
  export const defaultSubmitOrderInstruction: MfKioskSubmitOrderInstruction = {
@@ -131,7 +132,8 @@ const toKiosk = (
131
132
  },
132
133
  menuItem: {
133
134
  showAllOnly: kioskOrderSettings?.menuItem?.showAllOnly ?? false
134
- }
135
+ },
136
+ otaChannel: kioskOrderSettings?.otaChannel ?? ''
135
137
  }
136
138
  }
137
139
 
@@ -221,19 +223,20 @@ const toOrderKioskSettingsDto = (
221
223
  dineIn,
222
224
  menuItem: kioskSetting.menuItem,
223
225
  paymentSetting: createPaymentSettings(kioskSetting.paymentSetting),
226
+ otaChannel: kioskSetting.otaChannel || undefined,
224
227
  takeaway: kioskSetting.takeaway.submitOrderInstruction
225
228
  ? {
226
- submitOrderInstruction: {
227
- payAtCounter: kioskSetting.takeaway.submitOrderInstruction.payAtCounter
228
- ? {
229
- en: kioskSetting.takeaway.submitOrderInstruction.payAtCounter
230
- }
231
- : null,
232
- paid: kioskSetting.takeaway.submitOrderInstruction.paid
233
- ? {
234
- en: kioskSetting.takeaway.submitOrderInstruction.paid
235
- }
236
- : null
229
+ submitOrderInstruction: {
230
+ payAtCounter: kioskSetting.takeaway.submitOrderInstruction.payAtCounter
231
+ ? {
232
+ en: kioskSetting.takeaway.submitOrderInstruction.payAtCounter
233
+ }
234
+ : null,
235
+ paid: kioskSetting.takeaway.submitOrderInstruction.paid
236
+ ? {
237
+ en: kioskSetting.takeaway.submitOrderInstruction.paid
238
+ }
239
+ : null
237
240
  }
238
241
  }
239
242
  : undefined
@@ -1,8 +1,23 @@
1
- <template>
2
- <div v-if="!!kioskOrderSettingForm" class="flex flex-col gap-32">
3
- <!-- Dine In Section -->
4
- <div class="flex flex-col gap-2">
5
- <span class="fm-typo-en-title-sm-600">{{ t('order.dineIn') }}</span>
1
+ <template>
2
+ <div v-if="!!kioskOrderSettingForm" class="flex flex-col gap-32">
3
+ <!-- OTA Channel Section -->
4
+ <div v-if="isAdmin" class="flex flex-col gap-2">
5
+ <span class="fm-typo-en-title-sm-600">{{ t('order.otaChannel') }}</span>
6
+ <div class="flex flex-col gap-1 w-full md:w-1/2">
7
+ <FmTextField
8
+ v-model="kioskOrderSettingForm.otaChannel"
9
+ :label="t('order.otaChannel')"
10
+ :placeholder="t('order.otaChannelHint')"
11
+ />
12
+ <span class="fm-typo-en-body-sm-400 text-fm-color-typo-secondary">
13
+ {{ t('order.otaChannelHint') }}
14
+ </span>
15
+ </div>
16
+ </div>
17
+
18
+ <!-- Dine In Section -->
19
+ <div class="flex flex-col gap-2">
20
+ <span class="fm-typo-en-title-sm-600">{{ t('order.dineIn') }}</span>
6
21
  <div class="flex flex-col gap-5">
7
22
  <FmSwitch
8
23
  v-model="kioskOrderSettingForm.dineIn.enabled"
@@ -183,19 +198,22 @@
183
198
  </template>
184
199
  <script setup lang="ts">
185
200
  import { computed, ref } from 'vue'
186
- import KioskPaymentTypeSection from './KioskPaymentTypeSection.vue'
187
- import { FdoOfflinePaymentMethod } from '@feedmepos/core/entity'
188
- import { FdoEPaymentMethod, F_ORDER_PAYMENT_TYPE } from '@entity'
189
- import type {
190
- MfKioskOrderSetting,
201
+ import KioskPaymentTypeSection from './KioskPaymentTypeSection.vue'
202
+ import { FdoOfflinePaymentMethod } from '@feedmepos/core/entity'
203
+ import { FdoEPaymentMethod, F_ORDER_PAYMENT_TYPE } from '@entity'
204
+ import type {
205
+ MfKioskOrderSetting,
191
206
  MfKioskOrderSettingForm,
192
207
  KioskPaymentTypesForm
193
208
  } from '@/modules/order-setting/kiosk/interface'
194
- import { useLoading } from '@/composables/loading'
195
- import { useSnackbar } from '@feedmepos/ui-library'
196
- import { useI18n } from '@feedmepos/mf-common'
197
-
198
- const { t } = useI18n()
209
+ import { useLoading } from '@/composables/loading'
210
+ import { useSnackbar } from '@feedmepos/ui-library'
211
+ import { useI18n } from '@feedmepos/mf-common'
212
+ import { useCoreStore } from '@feedmepos/mf-common'
213
+
214
+ const { t } = useI18n()
215
+ const CoreStore = useCoreStore()
216
+ const isAdmin = computed(() => CoreStore.sessionUser.value?.role.isAdmin ?? false)
199
217
 
200
218
  interface Props {
201
219
  restaurantId: string
@@ -231,8 +249,9 @@ const padDigitRules = computed(() => [nonNegativeRule])
231
249
  const minRules = computed(() => [nonNegativeRule])
232
250
  const maxRules = computed(() => [nonNegativeRule, greaterThanMinRule])
233
251
 
234
- const validKioskOrderSetting = computed<MfKioskOrderSetting | null>(() => {
235
- const f = kioskOrderSettingForm.value
252
+ const validKioskOrderSetting = computed<MfKioskOrderSetting | null>(() => {
253
+ const f = kioskOrderSettingForm.value
254
+ const otaChannel = f.otaChannel?.trim()
236
255
 
237
256
  // Validate display stand settings if both dineIn and displayStand are enabled
238
257
  if (f.dineIn.enabled && f.dineIn.displayStand.enabled) {
@@ -247,12 +266,13 @@ const validKioskOrderSetting = computed<MfKioskOrderSetting | null>(() => {
247
266
  if (!isValid) return null
248
267
  }
249
268
 
250
- // Return the form as-is if valid, with display stand disabled when dineIn is disabled
251
- return {
252
- ...f,
253
- dineIn: {
254
- ...f.dineIn,
255
- displayStand: {
269
+ // Return the form as-is if valid, with display stand disabled when dineIn is disabled
270
+ return {
271
+ ...f,
272
+ otaChannel: otaChannel || undefined,
273
+ dineIn: {
274
+ ...f.dineIn,
275
+ displayStand: {
256
276
  ...f.dineIn.displayStand,
257
277
  enabled: f.dineIn.enabled && f.dineIn.displayStand.enabled,
258
278
  padDigit: f.dineIn.displayStand.padDigit ?? 0,
@@ -56,7 +56,9 @@ const emits = defineEmits<{
56
56
  const menuStore = useMenuStore()
57
57
  const CoreStore = useCoreStore()
58
58
 
59
- const canEdit = computed(() => CoreStore.sessionUser.value?.role.isAdmin ?? false)
59
+ // const canEdit = computed(() => CoreStore.sessionUser.value?.role.isAdmin ?? false)
60
+ // For now, allow all users to edit, but added detail logging in backend
61
+ const canEdit = computed(() => true)
60
62
 
61
63
  function updateManual(manual: FdoLinkedDelivery | null) {
62
64
  emits('update:model-value', {