@feedmepos/mf-order-setting 0.0.76 → 0.0.77

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 (81) hide show
  1. package/dist/{KioskDevicesView-H7stMDFu.js → KioskDevicesView-Dgs5_UoK.js} +1 -1
  2. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-DgpV4oKE.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-B4DXPgAV.js} +3 -3
  3. package/dist/KioskSettingView-BUcPNVTc.js +681 -0
  4. package/dist/{KioskView-Cxcc1UL1.js → KioskView-DelVMMj4.js} +137 -127
  5. package/dist/{OrderSettingsView-Ds2L_rbu.js → OrderSettingsView-DE2U7vqW.js} +9232 -8262
  6. package/dist/{app-BDlPjU4y.js → app-BIvt4NBq.js} +1476 -1302
  7. package/dist/app.js +1 -1
  8. package/dist/{dayjs.min-OJf1trOq.js → dayjs.min-B58_jBg3.js} +1 -1
  9. package/dist/frontend/mf-order/src/api/index.d.ts +3 -1
  10. package/dist/frontend/mf-order/src/api/remoteOrder/index.d.ts +65 -2
  11. package/dist/frontend/mf-order/src/app.d.ts +174 -0
  12. package/dist/frontend/mf-order/src/composables/useInternalUser.d.ts +3 -0
  13. package/dist/frontend/mf-order/src/main.d.ts +174 -0
  14. package/dist/frontend/mf-order/src/modules/order-setting/kiosk/interface.d.ts +4 -0
  15. package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +15 -3
  16. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/AdditionalStores.vue.d.ts +16 -0
  17. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue.d.ts +2 -2
  18. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FoodpandaAdditionalStores.vue.d.ts +10 -0
  19. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue.d.ts +15 -4
  20. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/IntegrationIdentityDetails.vue.d.ts +10 -0
  21. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ShopeefoodAdditionalStores.vue.d.ts +10 -0
  22. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  23. package/dist/index-CLS-FSH-.js +762 -0
  24. package/dist/{index-gGOpbnY3.js → index-CahsmFL1.js} +1 -1
  25. package/dist/{lineman-settings.dto-Cny_fF4n.js → lineman-settings.dto-DBDThIb0.js} +8999 -8874
  26. package/dist/package/entity/delivery/delivery.enum.d.ts +1 -1
  27. package/dist/package/entity/incoming-order/incoming-order.do.d.ts +4 -4
  28. package/dist/package/entity/kiosk/marketing/marketing.dto.d.ts +11 -0
  29. package/dist/package/entity/order-platform/base-integration.dto.d.ts +179 -0
  30. package/dist/package/entity/order-platform/deliveroo/deliveroo-dto.d.ts +2 -2
  31. package/dist/package/entity/order-platform/deliveroo/deliveroo-setting.do.d.ts +2 -2
  32. package/dist/package/entity/order-platform/external/order/external-order.dto.d.ts +2 -2
  33. package/dist/package/entity/order-platform/external/setting/external-setting.do.d.ts +4 -4
  34. package/dist/package/entity/order-platform/external/setting/external-setting.dto.d.ts +4 -4
  35. package/dist/package/entity/order-platform/foodpanda/foodpanda-menu.dto.d.ts +1 -1
  36. package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.do.d.ts +105 -4
  37. package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.dto.d.ts +30 -11
  38. package/dist/package/entity/order-platform/gofood/gofood-settings.do.d.ts +2 -2
  39. package/dist/package/entity/order-platform/gofood/gofood-settings.dto.d.ts +2 -2
  40. package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +10 -10
  41. package/dist/package/entity/order-platform/grabfood/grabfood-settings.do.d.ts +134 -6
  42. package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +42 -20
  43. package/dist/package/entity/order-platform/lineman/lineman-settings.do.d.ts +2 -2
  44. package/dist/package/entity/order-platform/lineman/lineman-settings.dto.d.ts +2 -2
  45. package/dist/package/entity/order-platform/shopeefood/shopeefood-settings.do.d.ts +102 -4
  46. package/dist/package/entity/order-platform/shopeefood/shopeefood-settings.dto.d.ts +66 -5
  47. package/dist/package/entity/order-platform/tng/tng-settings.do.d.ts +2 -2
  48. package/dist/package/entity/order-platform/tng/tng-settings.dto.d.ts +4 -4
  49. package/dist/package/entity/order-setting/dine-in/dine-in.do.d.ts +2 -2
  50. package/dist/package/entity/order-setting/dine-in/dine-in.dto.d.ts +2 -2
  51. package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +6 -0
  52. package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +6 -0
  53. package/dist/package/entity/order-setting/order-setting.do.d.ts +14 -4
  54. package/dist/package/entity/order-setting/order-setting.dto.d.ts +28 -8
  55. package/dist/package/entity/restaurant/restaurant.dto.d.ts +10 -0
  56. package/dist/package/entity/websocket/websocket.dto.d.ts +24 -0
  57. package/dist/style.css +1 -1
  58. package/package.json +1 -1
  59. package/src/api/index.ts +8 -2
  60. package/src/api/remoteOrder/index.ts +200 -4
  61. package/src/composables/useInternalUser.ts +14 -0
  62. package/src/locales/en-US.json +43 -0
  63. package/src/locales/ja-JP.json +43 -0
  64. package/src/locales/th-TH.json +90 -45
  65. package/src/locales/zh-CN.json +43 -0
  66. package/src/modules/order-setting/kiosk/interface.ts +29 -19
  67. package/src/stores/order-setting/mapper.ts +65 -55
  68. package/src/views/kiosk/settings/KioskSettingView.vue +33 -0
  69. package/src/views/order-settings/delivery/DeliverySetting.vue +0 -1
  70. package/src/views/order-settings/delivery/delivery.data.ts +3 -0
  71. package/src/views/order-settings/delivery/integrated-delivery/AdditionalStores.vue +472 -0
  72. package/src/views/order-settings/delivery/integrated-delivery/FoodpandaAdditionalStores.vue +314 -0
  73. package/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue +27 -8
  74. package/src/views/order-settings/delivery/integrated-delivery/GrabfoodSetting.vue +31 -12
  75. package/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue +23 -11
  76. package/src/views/order-settings/delivery/integrated-delivery/IntegrationIdentityDetails.vue +144 -0
  77. package/src/views/order-settings/delivery/integrated-delivery/ShopeefoodAdditionalStores.vue +335 -0
  78. package/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue +29 -8
  79. package/src/views/order-settings/queue/QueueSetting.vue +1 -1
  80. package/dist/KioskSettingView-fF6k9s_q.js +0 -658
  81. package/dist/index-Bid9lO2x.js +0 -665
@@ -50,13 +50,13 @@ export const defaultPickUp: KioskPickAtCounterSettingForm = {
50
50
  enablePaxDialog: false
51
51
  }
52
52
 
53
- export const defaultKioskOrderSetting: MfKioskOrderSettingForm = {
54
- dineIn: {
55
- enabled: false,
56
- pickUp: defaultPickUp,
57
- sequenceNumber: FdoOrderKioskDineInSequence.parse({}),
58
- displayStand: defaultDisplayStand
59
- },
53
+ export const defaultKioskOrderSetting: MfKioskOrderSettingForm = {
54
+ dineIn: {
55
+ enabled: false,
56
+ pickUp: defaultPickUp,
57
+ sequenceNumber: FdoOrderKioskDineInSequence.parse({}),
58
+ displayStand: defaultDisplayStand
59
+ },
60
60
  takeaway: defaultTakeaway,
61
61
  paymentSetting: {
62
62
  paymentTypes: [],
@@ -74,14 +74,16 @@ export const defaultKioskOrderSetting: MfKioskOrderSettingForm = {
74
74
  scanPay: false
75
75
  }
76
76
  }
77
- },
78
- menuItem: {
79
- showAllOnly: false
80
- },
81
- coverImageLandscape: null,
82
- coverImagePortrait: null,
83
- otaChannel: ''
84
- }
77
+ },
78
+ menuItem: {
79
+ showAllOnly: false
80
+ },
81
+ coverImageLandscape: null,
82
+ coverImagePortrait: null,
83
+ otaChannel: '',
84
+ autoCloseBill: null,
85
+ printReceiptAfterClose: null
86
+ }
85
87
 
86
88
  export const defaultSubmitOrderInstruction: MfKioskSubmitOrderInstruction = {
87
89
  payAtCounter: null,
@@ -94,11 +96,11 @@ const convertOrderSettingDto = (dto: OrderSettingsDto): MfOrderSetting => {
94
96
  }
95
97
  }
96
98
 
97
- const toKiosk = (
98
- kioskOrderSettings: OrderKioskSettings | null | undefined,
99
- kioskDineInSeq?: OrderKioskDineInSequenceDto
100
- ): MfKioskOrderSetting => {
101
- return {
99
+ const toKiosk = (
100
+ kioskOrderSettings: OrderKioskSettings | null | undefined,
101
+ kioskDineInSeq?: OrderKioskDineInSequenceDto
102
+ ): MfKioskOrderSetting => {
103
+ return {
102
104
  dineIn: toKioskDineInSetting(
103
105
  kioskDineInSeq ?? {
104
106
  current: 0,
@@ -116,30 +118,34 @@ const toKiosk = (
116
118
  }
117
119
  : defaultSubmitOrderInstruction
118
120
  },
119
- paymentSetting: {
120
- paymentTypes: kioskOrderSettings?.paymentSetting?.paymentTypes ?? [],
121
- offlinePaymentTypes: kioskOrderSettings?.paymentSetting?.offlinePaymentTypes ?? [],
122
- ePaymentTypes:
123
- kioskOrderSettings?.paymentSetting?.ePaymentTypes ??
121
+ paymentSetting: {
122
+ paymentTypes: kioskOrderSettings?.paymentSetting?.paymentTypes ?? [],
123
+ offlinePaymentTypes: kioskOrderSettings?.paymentSetting?.offlinePaymentTypes ?? [],
124
+ ePaymentTypes:
125
+ kioskOrderSettings?.paymentSetting?.ePaymentTypes ??
124
126
  FdoEPaymentMethod.parse({
125
127
  card: {
126
128
  terminal: false,
127
129
  nfc: false
128
130
  },
129
- eWallet: {
130
- qrPay: false,
131
- scanPay: false
132
- }
133
- })
134
- },
135
- menuItem: {
136
- showAllOnly: kioskOrderSettings?.menuItem?.showAllOnly ?? false
137
- },
138
- otaChannel: kioskOrderSettings?.otaChannel ?? '',
139
- coverImageLandscape: kioskOrderSettings?.coverImageLandscape ?? null,
140
- coverImagePortrait: kioskOrderSettings?.coverImagePortrait ?? null
141
- }
142
- }
131
+ eWallet: {
132
+ qrPay: false,
133
+ scanPay: false
134
+ }
135
+ })
136
+ },
137
+ menuItem: {
138
+ showAllOnly: kioskOrderSettings?.menuItem?.showAllOnly ?? false
139
+ },
140
+ otaChannel: kioskOrderSettings?.otaChannel ?? '',
141
+ coverImageLandscape: kioskOrderSettings?.coverImageLandscape ?? null,
142
+ coverImagePortrait: kioskOrderSettings?.coverImagePortrait ?? null,
143
+ // Preserve "unset" as null — collapsing to a boolean here is what let an
144
+ // unrelated save overwrite the inherited dineInSettings value.
145
+ autoCloseBill: kioskOrderSettings?.autoCloseBill ?? null,
146
+ printReceiptAfterClose: kioskOrderSettings?.printReceiptAfterClose ?? null
147
+ }
148
+ }
143
149
 
144
150
  const toKioskDineInSetting = (
145
151
  kioskDineInSeq: OrderKioskDineInSequenceDto,
@@ -222,22 +228,26 @@ const toOrderKioskSettingsDto = (
222
228
  }
223
229
  })
224
230
 
225
- const createKioskSettings = (dineIn?: OrderKioskDineIn): OrderKioskSettings => ({
226
- canTakeaway: kioskSetting.takeaway.enabled,
227
- dineIn,
228
- menuItem: kioskSetting.menuItem,
229
- coverImageLandscape: kioskSetting.coverImageLandscape,
230
- coverImagePortrait: kioskSetting.coverImagePortrait,
231
- otaChannel: kioskSetting.otaChannel || undefined,
232
- paymentSetting: createPaymentSettings(kioskSetting.paymentSetting),
233
- takeaway: kioskSetting.takeaway.submitOrderInstruction
234
- ? {
235
- submitOrderInstruction: {
236
- payAtCounter: kioskSetting.takeaway.submitOrderInstruction.payAtCounter
237
- ? {
238
- en: kioskSetting.takeaway.submitOrderInstruction.payAtCounter
239
- }
240
- : null,
231
+ const createKioskSettings = (dineIn?: OrderKioskDineIn): OrderKioskSettings => ({
232
+ canTakeaway: kioskSetting.takeaway.enabled,
233
+ dineIn,
234
+ menuItem: kioskSetting.menuItem,
235
+ coverImageLandscape: kioskSetting.coverImageLandscape,
236
+ coverImagePortrait: kioskSetting.coverImagePortrait,
237
+ otaChannel: kioskSetting.otaChannel || undefined,
238
+ // Omit when unset so the backend's `?? config.autoCloseBill` inheritance
239
+ // still applies — sending `false` here would pin it off for good.
240
+ autoCloseBill: kioskSetting.autoCloseBill ?? undefined,
241
+ printReceiptAfterClose: kioskSetting.printReceiptAfterClose ?? undefined,
242
+ paymentSetting: createPaymentSettings(kioskSetting.paymentSetting),
243
+ takeaway: kioskSetting.takeaway.submitOrderInstruction
244
+ ? {
245
+ submitOrderInstruction: {
246
+ payAtCounter: kioskSetting.takeaway.submitOrderInstruction.payAtCounter
247
+ ? {
248
+ en: kioskSetting.takeaway.submitOrderInstruction.payAtCounter
249
+ }
250
+ : null,
241
251
  paid: kioskSetting.takeaway.submitOrderInstruction.paid
242
252
  ? {
243
253
  en: kioskSetting.takeaway.submitOrderInstruction.paid
@@ -230,6 +230,28 @@
230
230
  />
231
231
  </div>
232
232
 
233
+ <!-- Order Setting Section -->
234
+ <div class="flex flex-col gap-2">
235
+ <span class="fm-typo-en-title-sm-600">{{ t('order.orderSetting') }}</span>
236
+ <div class="flex flex-col gap-5">
237
+ <FmSwitch
238
+ :model-value="kioskOrderSettingForm.autoCloseBill ?? false"
239
+ :label="t('order.autoCloseBill')"
240
+ :sublabel="t('order.autoCloseBillSublabel')"
241
+ label-placement="right"
242
+ @update:model-value="onAutoCloseBillChange"
243
+ />
244
+ <FmSwitch
245
+ v-show="kioskOrderSettingForm.autoCloseBill"
246
+ :model-value="kioskOrderSettingForm.printReceiptAfterClose ?? true"
247
+ @update:model-value="(v: boolean) => (kioskOrderSettingForm.printReceiptAfterClose = v)"
248
+ :label="t('order.printReceiptAfterClose')"
249
+ :sublabel="t('order.printReceiptAfterCloseSublabel')"
250
+ label-placement="right"
251
+ />
252
+ </div>
253
+ </div>
254
+
233
255
  <!-- Payment Section -->
234
256
  <div class="flex flex-col gap-2">
235
257
  <KioskPaymentTypeSection
@@ -296,6 +318,17 @@ const emits = defineEmits<Emits>()
296
318
 
297
319
  const kioskOrderSettingForm = ref<MfKioskOrderSettingForm>(props.form)
298
320
 
321
+ // autoCloseBill / printReceiptAfterClose stay null until the merchant actually
322
+ // picks one, so the backend keeps inheriting dineInSettings. Turning auto-close
323
+ // on is that choice — stamp the print default then rather than shipping a form
324
+ // that reads "off" while the saved value is still unset.
325
+ const onAutoCloseBillChange = (value: boolean) => {
326
+ kioskOrderSettingForm.value.autoCloseBill = value
327
+ if (value && kioskOrderSettingForm.value.printReceiptAfterClose === null) {
328
+ kioskOrderSettingForm.value.printReceiptAfterClose = true
329
+ }
330
+ }
331
+
299
332
  // Validation rules
300
333
  const nonNegativeRule = (val: any) => {
301
334
  if (val < 0) return t('order.nonNegativeRule')
@@ -596,7 +596,6 @@ const grabfood = computed<FdoGrabfoodSettings>(() => {
596
596
  return {
597
597
  ...deliveryData.initGrabfoodDelivery(),
598
598
  ...grabfoodSetting.value,
599
- partnerMerchantID: grabfoodSetting?.value?._id,
600
599
  ignoreDiscount: grabfoodSetting?.value?.ignoreDiscount ?? false
601
600
  }
602
601
  })
@@ -34,6 +34,7 @@ function initFeedmeExpress(): FdoRestaurantFeedmeDelivery {
34
34
 
35
35
  export function initFoodpandaDelivery(): FdoFoodpandaSettings {
36
36
  return {
37
+ integrationId: '',
37
38
  enable: false,
38
39
  remoteId: '',
39
40
  catalogId: null,
@@ -48,6 +49,7 @@ export function initFoodpandaDelivery(): FdoFoodpandaSettings {
48
49
 
49
50
  function initGrabfoodDelivery(): FdoGrabfoodSettings {
50
51
  return {
52
+ integrationId: '',
51
53
  enable: false,
52
54
  merchantID: '',
53
55
  catalogId: null,
@@ -68,6 +70,7 @@ function initLinemanDelivery(): FdoLinemanSettings {
68
70
 
69
71
  function initShopeefoodDelivery(): FdoShopeeFoodSettings {
70
72
  return {
73
+ integrationId: '',
71
74
  enable: false,
72
75
  storeID: '',
73
76
  catalogId: null,