@feedmepos/mf-order-setting 0.0.21-beta.1 → 0.0.21-beta.3

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 (135) hide show
  1. package/dist/{KioskDevicesView-snR43qzG.js → KioskDevicesView-Cb7Rw7t8.js} +1 -1
  2. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-DkpYway-.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-raPhhBpi.js} +45 -44
  3. package/dist/KioskSettingView-BQgyeWbo.js +649 -0
  4. package/dist/KioskView-BLkuqfZ_.js +371 -0
  5. package/dist/OrderSettingsView-BJ1b1Qjg.js +70873 -0
  6. package/dist/app-BY258ajB.js +644 -0
  7. package/dist/app.js +4 -505
  8. package/dist/auth.dto-BOoRSQkS.js +121725 -0
  9. package/dist/dayjs.min-4COVK72W.js +2110 -0
  10. package/dist/frontend/mf-order/src/app.d.ts +440 -410
  11. package/dist/frontend/mf-order/src/components/GoogleMap.vue.d.ts +1 -1
  12. package/dist/frontend/mf-order/src/modules/order-setting/kiosk/interface.d.ts +18 -0
  13. package/dist/frontend/mf-order/src/stores/app/index.d.ts +4 -14
  14. package/dist/frontend/mf-order/src/stores/iframe/index.d.ts +2 -2
  15. package/dist/frontend/mf-order/src/stores/kiosk/index.d.ts +2 -2
  16. package/dist/frontend/mf-order/src/stores/menu/menu.d.ts +35 -30
  17. package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +242 -2
  18. package/dist/frontend/mf-order/src/stores/order-setting/mapper.d.ts +2 -1
  19. package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +750 -614
  20. package/dist/frontend/mf-order/src/views/all-orders/ActionMenuCell.vue.d.ts +1 -1
  21. package/dist/frontend/mf-order/src/views/all-orders/FilterStatus.vue.d.ts +1 -1
  22. package/dist/frontend/mf-order/src/views/all-orders/FilterStatusMenu.vue.d.ts +1 -1
  23. package/dist/frontend/mf-order/src/views/all-orders/ReflowOrder.vue.d.ts +175 -141
  24. package/dist/frontend/mf-order/src/views/all-orders/UpdateDeliveryOrderDialog.vue.d.ts +1 -1
  25. package/dist/frontend/mf-order/src/views/kiosk/KioskSummary.vue.d.ts +1 -0
  26. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskUnbindConfirm.vue.d.ts +1 -1
  27. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDineInSection.vue.d.ts +2 -4
  28. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDisplayStandSection.vue.d.ts +1 -1
  29. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskMenuItemSection.vue.d.ts +9 -0
  30. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPaymentTypeSection.vue.d.ts +93 -0
  31. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPickAtCounterSection.vue.d.ts +1 -1
  32. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskSettingView.vue.d.ts +1 -1
  33. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskTakeawaySection.vue.d.ts +2 -4
  34. package/dist/frontend/mf-order/src/views/order-settings/delivery/DeliveryList.vue.d.ts +1 -1
  35. package/dist/frontend/mf-order/src/views/order-settings/delivery/components/ManualIntegratedDeliverySetting.vue.d.ts +1 -1
  36. package/dist/frontend/mf-order/src/views/order-settings/delivery/components/TaxInput.vue.d.ts +1 -1
  37. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/CurrencyInput.vue.d.ts +1 -1
  38. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryCustomTime.vue.d.ts +1 -1
  39. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryOrder.vue.d.ts +35 -3
  40. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryTime.vue.d.ts +1 -1
  41. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/InHouseDelivery.vue.d.ts +1 -1
  42. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/TimePicker.vue.d.ts +1 -1
  43. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/ZoneDialog.vue.d.ts +1 -1
  44. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FeedmeDelivery.vue.d.ts +1 -1
  45. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FoodpandaCampaignDialog.vue.d.ts +1 -1
  46. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue.d.ts +1 -1
  47. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/GrabfoodSetting.vue.d.ts +1 -1
  48. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue.d.ts +1 -1
  49. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue.d.ts +1 -1
  50. package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialog.vue.d.ts +1 -1
  51. package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialogContent.vue.d.ts +1 -1
  52. package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/PaymentType.vue.d.ts +1 -1
  53. package/dist/frontend/mf-order/src/views/order-settings/pickup/AddressInput.vue.d.ts +1 -1
  54. package/dist/frontend/mf-order/src/views/order-settings/pickup/CustomPayment.vue.d.ts +1 -1
  55. package/dist/frontend/mf-order/src/views/order-settings/pickup/PaymentSidesheet.vue.d.ts +1 -1
  56. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpPointDialog.vue.d.ts +1 -1
  57. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpPointDialogContent.vue.d.ts +35 -3
  58. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpSettingDialog.vue.d.ts +1 -1
  59. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpSettingDialogContent.vue.d.ts +1 -1
  60. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickupList.vue.d.ts +1 -1
  61. package/dist/frontend/mf-order/src/views/order-settings/pickup/Preorder.vue.d.ts +1 -1
  62. package/dist/frontend/mf-order/src/views/order-settings/servicecharge/RateInput.vue.d.ts +1 -1
  63. package/dist/frontend/mf-order/src/views/order-settings/servicecharge/ServiceChargeRule.vue.d.ts +1 -1
  64. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  65. package/dist/index-DSCb3ndM.js +150 -0
  66. package/dist/{index-BghBxhGG.js → index-t_7ThPjm.js} +25 -24
  67. package/dist/package/entity/booking/booking.do.d.ts +95 -1025
  68. package/dist/package/entity/delivery/delivery.dto.d.ts +78 -264
  69. package/dist/package/entity/delivery/gateway/kosmo.dto.d.ts +2 -2
  70. package/dist/package/entity/food-court/food-court.dto.d.ts +51 -0
  71. package/dist/package/entity/food-court/order.dto.d.ts +2528 -6
  72. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +1377 -255
  73. package/dist/package/entity/incoming-order/incoming-order.do.d.ts +632 -129
  74. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +1275 -244
  75. package/dist/package/entity/kiosk/kiosk.do.d.ts +14 -14
  76. package/dist/package/entity/kiosk/kiosk.dto.d.ts +17 -17
  77. package/dist/package/entity/kiosk/marketing/marketing.dto.d.ts +105 -883
  78. package/dist/package/entity/kiosk/scanner/scanner.do.d.ts +9 -9
  79. package/dist/package/entity/kiosk/scanner/scanner.dto.d.ts +9 -9
  80. package/dist/package/entity/kiosk/scanner/scanner.enum.d.ts +1 -1
  81. package/dist/package/entity/member/member.dto.d.ts +2 -2
  82. package/dist/package/entity/order/effects/effect.dto.d.ts +6 -6
  83. package/dist/package/entity/order/manager/manager.dto.d.ts +8 -8
  84. package/dist/package/entity/order/order-item/order-item.dto.d.ts +3986 -0
  85. package/dist/package/entity/order/order.do.d.ts +951 -5
  86. package/dist/package/entity/order/order.dto.d.ts +63375 -23687
  87. package/dist/package/entity/order/order.enum.d.ts +5 -1
  88. package/dist/package/entity/order/payment/payment.dto.d.ts +9631 -138
  89. package/dist/package/entity/order-platform/foodpanda/foodpanda-menu.dto.d.ts +54 -54
  90. package/dist/package/entity/order-platform/foodpanda/foodpanda-order.do.d.ts +165 -72
  91. package/dist/package/entity/order-platform/foodpanda/foodpanda-order.dto.d.ts +88 -241
  92. package/dist/package/entity/order-platform/grabfood/grabfood-menu.do.d.ts +1 -0
  93. package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +153 -215
  94. package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +80 -40
  95. package/dist/package/entity/order-platform/menu.dto.d.ts +88 -88
  96. package/dist/package/entity/order-platform/shopeefood/shopeefood-order.do.d.ts +19 -205
  97. package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +259 -0
  98. package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +266 -0
  99. package/dist/package/entity/order-setting/order-setting.do.d.ts +172 -0
  100. package/dist/package/entity/order-setting/order-setting.dto.d.ts +344 -0
  101. package/dist/package/entity/payment/payment.dto.d.ts +13 -13
  102. package/dist/package/entity/queue/queue.do.d.ts +80 -80
  103. package/dist/package/entity/queue/queue.dto.d.ts +7 -0
  104. package/dist/package/entity/restaurant/restaurant.dto.d.ts +226 -113
  105. package/dist/package/entity/websocket/websocket.dto.d.ts +384 -0
  106. package/package.json +17 -17
  107. package/src/app.ts +2 -3
  108. package/src/locales/en-US.json +218 -203
  109. package/src/locales/zh-CN.json +218 -203
  110. package/src/modules/order-setting/kiosk/interface.ts +25 -0
  111. package/src/stores/order-setting/mapper.ts +73 -51
  112. package/src/views/kiosk/KioskSummary.vue +40 -5
  113. package/src/views/kiosk/KioskView.vue +153 -101
  114. package/src/views/kiosk/settings/KioskDineInSection.vue +48 -33
  115. package/src/views/kiosk/settings/KioskDisplayStandSection.vue +114 -67
  116. package/src/views/kiosk/settings/KioskMenuItemSection.vue +27 -0
  117. package/src/views/kiosk/settings/KioskPaymentTypeSection.vue +339 -0
  118. package/src/views/kiosk/settings/KioskPickAtCounterSection.vue +15 -14
  119. package/src/views/kiosk/settings/KioskSettingView.vue +169 -108
  120. package/src/views/kiosk/settings/KioskTakeawaySection.vue +16 -22
  121. package/src/views/order-settings/OrderSettingsView.vue +1 -1
  122. package/src/views/order-settings/delivery/DeliverySetting.vue +9 -10
  123. package/src/views/order-settings/pickup/CustomPayment.vue +1 -1
  124. package/dist/App-Dd-xqK-8.js +0 -60
  125. package/dist/KioskSettingView-6Q0qwSTl.js +0 -345
  126. package/dist/KioskView-5I0PelUy.js +0 -289
  127. package/dist/OrderSettingsView-CXZq8QAV.js +0 -51594
  128. package/dist/dayjs.min-DMfenXNY.js +0 -121871
  129. package/dist/index-B9mJLWE5.js +0 -70
  130. package/dist/map-UJBUHidz.js +0 -57
  131. /package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/DineInSetting.vue.d.ts +0 -0
  132. /package/src/views/order-settings/{dinein → dine-in}/DineInSetting.vue +0 -0
  133. /package/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialog.vue +0 -0
  134. /package/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialogContent.vue +0 -0
  135. /package/src/views/order-settings/{dinein → dine-in}/PaymentType.vue +0 -0
@@ -1,142 +1,203 @@
1
1
  <template>
2
- <div v-if="!!kioskOrderSettingForm" class="flex flex-col gap-32">
3
- <div class="flex flex-col gap-2">
4
- <span class="fm-typo-en-title-sm-600">{{ t('order.dineIn') }}</span>
5
- <KioskDineInSection :key="'dine-in-' + restaurantId" :restaurant-id="restaurantId"
6
- :is-apply-loading="isLoading" :get-setting="() => kioskOrderSettingForm!.dineIn"
7
- @update-dine-in="updateDineInSetting" />
8
- </div>
9
- <div class="flex flex-col gap-2">
10
- <span class="fm-typo-en-title-sm-600">{{ t('order.takeawayTitle') }}</span>
11
- <KioskTakeawaySection :key="'takeaway-' + restaurantId" :restaurant-id="restaurantId"
12
- :is-apply-loading="isLoading" :get-setting="() => kioskOrderSettingForm!.takeaway"
13
- @update-takeaway="updateTakeawaySetting" />
14
- </div>
15
- <FmButton class="w-1/4 mb-10" variant="primary" :label="t('order.updateSetting')" :disabled="!validKioskOrderSetting"
16
- @click="submitForm" />
2
+ <div v-if="!!kioskOrderSettingForm" class="flex flex-col gap-32">
3
+ <div class="flex flex-col gap-2">
4
+ <span class="fm-typo-en-title-sm-600">{{ t('order.dineIn') }}</span>
5
+ <KioskDineInSection
6
+ :key="'dine-in-' + restaurantId"
7
+ :v="kioskOrderSettingForm.dineIn"
8
+ @update-dine-in="updateDineInSetting"
9
+ />
17
10
  </div>
18
- <div v-else>
19
- {{ t('order.pleaseSelectRestaurant') }}
11
+ <div class="flex flex-col gap-2">
12
+ <span class="fm-typo-en-title-sm-600">{{ t('order.takeawayTitle') }}</span>
13
+ <KioskTakeawaySection
14
+ :key="'takeaway-' + restaurantId"
15
+ :v="kioskOrderSettingForm.takeaway"
16
+ @update-takeaway="updateTakeawaySetting"
17
+ />
20
18
  </div>
19
+ <div class="flex flex-col gap-2">
20
+ <span class="fm-typo-en-title-sm-600">{{ t('order.menuItem') }}</span>
21
+ <KioskMenuItemSection
22
+ :key="'menu-item-' + restaurantId"
23
+ :v="kioskOrderSettingForm.menuItem.showAllOnly"
24
+ @update:model-value="updateMenuItemSetting"
25
+ />
26
+ </div>
27
+ <div class="flex flex-col gap-2">
28
+ <span class="fm-typo-en-title-sm-600">{{ t('order.acceptedPayment') }}</span>
29
+ <span class="fm-typo-en-title-sm-400 font-bold">{{ t('order.configuration') }}</span>
30
+ <KioskPaymentTypeSection
31
+ :payment-types="kioskOrderSettingForm.paymentSetting.paymentTypes ?? []"
32
+ :allow-e-payment="allowEPayment"
33
+ :offline-payment-types="kioskOrderSettingForm.paymentSetting.offlinePaymentTypes ?? []"
34
+ :ePaymentTypes="kioskOrderSettingForm.paymentSetting.ePaymentTypes ?? {}"
35
+ @update:payment-types="updatePaymentSetting"
36
+ @update:offline-payment-types="
37
+ (v: FdoOfflinePaymentMethod[]) =>
38
+ (kioskOrderSettingForm.paymentSetting.offlinePaymentTypes = v)
39
+ "
40
+ @update:ePaymentTypes="updateEPaymentSetting"
41
+ />
42
+ </div>
43
+ <FmButton
44
+ class="w-1/4 mb-10"
45
+ variant="primary"
46
+ :label="t('order.updateSetting')"
47
+ :disabled="!validKioskOrderSetting"
48
+ @click="submitForm"
49
+ />
50
+ </div>
51
+ <div v-else>
52
+ {{ t('order.pleaseSelectRestaurant') }}
53
+ </div>
21
54
  </template>
22
55
  <script setup lang="ts">
23
- import { computed, ref } from 'vue';
24
- import KioskDineInSection from './KioskDineInSection.vue';
25
- import KioskTakeawaySection from './KioskTakeawaySection.vue';
26
- import type { KioskDineInSettingForm, KioskTakeawaySettingForm, MfKioskOrderSetting, MfKioskOrderSettingForm, } from '@/modules/order-setting/kiosk/interface';
27
- import { useLoading } from '@/composables/loading';
28
- import { useSnackbar } from '@feedmepos/ui-library';
29
- import { useI18n } from '@feedmepos/mf-common';
56
+ import { computed, ref } from 'vue'
57
+ import KioskDineInSection from './KioskDineInSection.vue'
58
+ import KioskTakeawaySection from './KioskTakeawaySection.vue'
59
+ import KioskPaymentTypeSection from './KioskPaymentTypeSection.vue'
60
+ import { FdoOfflinePaymentMethod } from '@feedmepos/core/entity'
61
+ import { FdoEPaymentMethod, F_ORDER_PAYMENT_TYPE } from '@entity'
62
+ import KioskMenuItemSection from './KioskMenuItemSection.vue'
63
+ import type {
64
+ KioskDineInSettingForm,
65
+ KioskTakeawaySettingForm,
66
+ MfKioskOrderSetting,
67
+ MfKioskOrderSettingForm,
68
+ KioskPaymentTypesForm
69
+ } from '@/modules/order-setting/kiosk/interface'
70
+ import { useLoading } from '@/composables/loading'
71
+ import { useSnackbar } from '@feedmepos/ui-library'
72
+ import { useI18n } from '@feedmepos/mf-common'
30
73
 
31
- const { t } = useI18n();
74
+ const { t } = useI18n()
32
75
 
33
76
  interface Props {
34
- restaurantId: string,
35
- form: MfKioskOrderSettingForm,
77
+ restaurantId: string
78
+ form: MfKioskOrderSettingForm
36
79
  }
37
80
 
38
- const props = defineProps<Props>();
81
+ const props = defineProps<Props>()
39
82
 
40
- const SnackBar = useSnackbar();
83
+ const SnackBar = useSnackbar()
41
84
 
42
85
  interface Emits {
43
- (e: 'updateKioskOrderSetting', form: MfKioskOrderSetting): Promise<void>
86
+ (e: 'updateKioskOrderSetting', form: MfKioskOrderSetting): Promise<void>
44
87
  }
45
88
 
46
- const emits = defineEmits<Emits>();
89
+ const emits = defineEmits<Emits>()
47
90
 
48
- const kioskOrderSettingForm = ref<MfKioskOrderSettingForm>(props.form);
91
+ const kioskOrderSettingForm = ref<MfKioskOrderSettingForm>(props.form)
49
92
 
50
93
  const validKioskOrderSetting = computed<MfKioskOrderSetting | null>(() => {
51
- const f = kioskOrderSettingForm.value;
52
- if (!f.dineIn.enabled) {
53
- return {
54
- dineIn: {
55
- enabled: f.dineIn.enabled,
56
- sequenceNumber: f.dineIn.sequenceNumber,
57
- pickUp: f.dineIn.pickUp,
58
- displayStand: {
59
- enabled: false,
60
- padDigit: f.dineIn.displayStand.padDigit ?? 0,
61
- standSlotRange: {
62
- min: f.dineIn.displayStand.standSlotRange.min ?? 0,
63
- max: f.dineIn.displayStand.standSlotRange.max ?? 10,
64
- },
65
- prefix: f.dineIn.displayStand.prefix ?? '',
66
- },
67
- },
68
- takeaway: f.takeaway,
94
+ const f = kioskOrderSettingForm.value
95
+ if (!f.dineIn.enabled) {
96
+ return {
97
+ ...f,
98
+ dineIn: {
99
+ enabled: f.dineIn.enabled,
100
+ sequenceNumber: f.dineIn.sequenceNumber,
101
+ pickUp: f.dineIn.pickUp,
102
+ displayStand: {
103
+ enabled: false,
104
+ padDigit: f.dineIn.displayStand.padDigit ?? 0,
105
+ standSlotRange: {
106
+ min: f.dineIn.displayStand.standSlotRange.min ?? 0,
107
+ max: f.dineIn.displayStand.standSlotRange.max ?? 10
108
+ },
109
+ prefix: f.dineIn.displayStand.prefix ?? ''
69
110
  }
111
+ }
70
112
  }
71
- if (f.dineIn.enabled && f.dineIn.displayStand.enabled) {
72
- const displayStand = f.dineIn.displayStand;
73
-
74
- if (displayStand.padDigit != null && displayStand.padDigit >= 0
75
- && !!displayStand.standSlotRange.min
76
- && !!displayStand.standSlotRange.max
77
- && displayStand.standSlotRange.min <= displayStand.standSlotRange.max) {
78
- return {
79
- dineIn: {
80
- enabled: f.dineIn.enabled,
81
- sequenceNumber: f.dineIn.sequenceNumber,
82
- pickUp: f.dineIn.pickUp,
83
- displayStand: {
84
- enabled: displayStand.enabled,
85
- padDigit: displayStand.padDigit,
86
- standSlotRange: {
87
- min: displayStand.standSlotRange.min,
88
- max: displayStand.standSlotRange.max,
89
- },
90
- prefix: displayStand.prefix ?? '',
91
- },
92
- },
93
- takeaway: f.takeaway,
94
- };
113
+ }
114
+ if (f.dineIn.enabled && f.dineIn.displayStand.enabled) {
115
+ const displayStand = f.dineIn.displayStand
116
+
117
+ if (
118
+ displayStand.padDigit != null &&
119
+ displayStand.padDigit >= 0 &&
120
+ !!displayStand.standSlotRange.min &&
121
+ !!displayStand.standSlotRange.max &&
122
+ displayStand.standSlotRange.min <= displayStand.standSlotRange.max
123
+ ) {
124
+ return {
125
+ ...f,
126
+ dineIn: {
127
+ enabled: f.dineIn.enabled,
128
+ sequenceNumber: f.dineIn.sequenceNumber,
129
+ pickUp: f.dineIn.pickUp,
130
+ displayStand: {
131
+ enabled: displayStand.enabled,
132
+ padDigit: displayStand.padDigit,
133
+ standSlotRange: {
134
+ min: displayStand.standSlotRange.min,
135
+ max: displayStand.standSlotRange.max
136
+ },
137
+ prefix: displayStand.prefix ?? ''
138
+ }
95
139
  }
96
- return null;
140
+ }
97
141
  }
98
- return {
99
- dineIn: {
100
- enabled: f.dineIn.enabled,
101
- sequenceNumber: f.dineIn.sequenceNumber,
102
- pickUp: f.dineIn.pickUp,
103
- displayStand: {
104
- enabled: false,
105
- padDigit: f.dineIn.displayStand.padDigit ?? 0,
106
- standSlotRange: {
107
- min: f.dineIn.displayStand.standSlotRange.min ?? 0,
108
- max: f.dineIn.displayStand.standSlotRange.max ?? 10,
109
- },
110
- prefix: f.dineIn.displayStand.prefix ?? '',
111
- }
142
+ return null
143
+ }
144
+ return {
145
+ ...f,
146
+ dineIn: {
147
+ enabled: f.dineIn.enabled,
148
+ sequenceNumber: f.dineIn.sequenceNumber,
149
+ pickUp: f.dineIn.pickUp,
150
+ displayStand: {
151
+ enabled: false,
152
+ padDigit: f.dineIn.displayStand.padDigit ?? 0,
153
+ standSlotRange: {
154
+ min: f.dineIn.displayStand.standSlotRange.min ?? 0,
155
+ max: f.dineIn.displayStand.standSlotRange.max ?? 10
112
156
  },
113
- takeaway: f.takeaway,
114
- };
115
- });
157
+ prefix: f.dineIn.displayStand.prefix ?? ''
158
+ }
159
+ }
160
+ }
161
+ })
116
162
 
117
- const { startAsyncCall, isLoading } = useLoading();
163
+ const { startAsyncCall } = useLoading()
118
164
 
119
165
  async function updateDineInSetting(form: KioskDineInSettingForm) {
120
- kioskOrderSettingForm.value.dineIn = form;
166
+ kioskOrderSettingForm.value.dineIn = form
121
167
  }
122
168
 
123
169
  async function updateTakeawaySetting(form: KioskTakeawaySettingForm) {
124
- kioskOrderSettingForm.value.takeaway = form;
170
+ kioskOrderSettingForm.value.takeaway = form
125
171
  }
126
172
 
127
- async function submitForm() {
128
- if (validKioskOrderSetting.value) {
129
- const kioskOrderSetting = validKioskOrderSetting.value;
130
- startAsyncCall(async () => {
131
- await emits('updateKioskOrderSetting', kioskOrderSetting);
132
- });
133
- } else {
134
- SnackBar.open({
135
- title: t('order.failedToUpdateSetting'),
136
- type: 'error',
137
- });
138
- }
173
+ async function updateMenuItemSetting(v: boolean) {
174
+ kioskOrderSettingForm.value.menuItem.showAllOnly = v
139
175
  }
140
176
 
177
+ async function updatePaymentSetting(form: KioskPaymentTypesForm) {
178
+ kioskOrderSettingForm.value.paymentSetting.paymentTypes = form;
179
+ }
141
180
 
142
- </script>
181
+ async function updateEPaymentSetting(form: FdoEPaymentMethod) {
182
+ kioskOrderSettingForm.value.paymentSetting.ePaymentTypes = form;
183
+ }
184
+
185
+ const allowEPayment = computed(() => {
186
+ const paymentTypes = kioskOrderSettingForm.value.paymentSetting.paymentTypes || [];
187
+ return paymentTypes.includes(F_ORDER_PAYMENT_TYPE.enum.ePayment);
188
+ })
189
+
190
+ async function submitForm() {
191
+ if (validKioskOrderSetting.value) {
192
+ const kioskOrderSetting = validKioskOrderSetting.value
193
+ startAsyncCall(async () => {
194
+ await emits('updateKioskOrderSetting', kioskOrderSetting)
195
+ })
196
+ } else {
197
+ SnackBar.open({
198
+ title: t('order.failedToUpdateSetting'),
199
+ type: 'error'
200
+ })
201
+ }
202
+ }
203
+ </script>
@@ -1,38 +1,32 @@
1
1
  <template>
2
- <div>
3
- <FmSwitch v-model="form.enabled" :label="t('order.takeaway')" label-placement="right"
4
- @update:model-value="updateTakeawaySetting" class="mb-5" />
5
- </div>
2
+ <div>
3
+ <FmSwitch
4
+ :model-value="v.enabled"
5
+ :label="t('order.takeaway')"
6
+ label-placement="right"
7
+ @update:model-value="updateTakeawaySetting"
8
+ class="mb-5"
9
+ />
10
+ </div>
6
11
  </template>
7
12
  <script setup lang="ts">
8
- import type { KioskTakeawaySettingForm } from '@/modules/order-setting/kiosk/interface';
9
- import { ref, watch } from 'vue';
10
- import { ObjectUtil } from '@/utils/object';
13
+ import type { KioskTakeawaySettingForm } from '@/modules/order-setting/kiosk/interface'
11
14
  import { useI18n } from '@feedmepos/mf-common'
12
15
 
13
16
  const { t } = useI18n()
14
17
 
15
18
  interface Props {
16
- getSetting: () => KioskTakeawaySettingForm,
17
- isApplyLoading: boolean,
18
- restaurantId: string,
19
+ v: KioskTakeawaySettingForm
19
20
  }
20
21
 
21
22
  interface Emits {
22
- (e: 'updateTakeaway', setting: KioskTakeawaySettingForm): void;
23
+ (e: 'updateTakeaway', setting: KioskTakeawaySettingForm): void
23
24
  }
24
25
 
25
- const props = defineProps<Props>();
26
- const emits = defineEmits<Emits>();
27
- const form = ref<KioskTakeawaySettingForm>(ObjectUtil.clone<KioskTakeawaySettingForm>(props.getSetting()));
26
+ defineProps<Props>()
27
+ const emits = defineEmits<Emits>()
28
28
 
29
29
  function updateTakeawaySetting(v: boolean) {
30
- form.value.enabled = v;
31
- emits('updateTakeaway', form.value);
30
+ emits('updateTakeaway', { enabled: v })
32
31
  }
33
-
34
- watch(() => props.restaurantId, () => {
35
- form.value = props.getSetting();
36
- })
37
-
38
- </script>
32
+ </script>
@@ -14,7 +14,7 @@
14
14
  import { type FmTabProps } from '@feedmepos/ui-library'
15
15
  import { ref, computed } from 'vue'
16
16
  import DeliverySetting from './delivery/DeliverySetting.vue'
17
- import DineInSetting from './dinein/DineInSetting.vue'
17
+ import DineInSetting from './dine-in/DineInSetting.vue'
18
18
  import PickUpSetting from './pickup/PickUpSetting.vue'
19
19
  import SmsSetting from './sms/SmsSetting.vue'
20
20
  import ServiceChargeSetting from './servicecharge/ServiceChargeSetting.vue'
@@ -131,7 +131,7 @@
131
131
  :model-value="localDoc"
132
132
  :company="selectedLocalRow.doc"
133
133
  :catalog-options="menuStore.catalogOptions"
134
- @update:model-value="(v: any) => (localDocUpdate = v)"
134
+ @update:model-value="(v: FdoLinkedDelivery | null) => (localDocUpdate = v)"
135
135
  />
136
136
  <template #side-sheet-footer>
137
137
  <div class="flex gap-8 items-center justify-start">
@@ -157,23 +157,19 @@
157
157
  import { computed, h, ref, watch } from 'vue'
158
158
  import RestaurantSelector from '../components/RestaurantSelector.vue'
159
159
  import { type ColumnDef } from '@feedmepos/ui-library'
160
-
161
- import { useCoreStore } from '@feedmepos/mf-common'
162
160
  import type { FdoFoodpandaSettings } from '@entity'
163
161
  import type {
164
162
  FdoLinkedDelivery,
165
- FdoRestaurant,
166
163
  FdoRestaurantFeedmeDelivery,
167
164
  FdoRestaurantInHouseDelivery
168
165
  } from '@feedmepos/core/entity'
169
- import { FdoGrabfoodSettings, FdoShopeeFoodSettings } from '@entity'
170
166
  import {
171
167
  F_DELIVERY_TYPE,
172
168
  F_FEATURE,
173
169
  F_ORDER_PLATFORM,
174
- F_PAYOUT_ACCOUNT_STATUS,
175
170
  F_RESTAURANT_FEATURE
176
171
  } from '@feedmepos/core/entity'
172
+ import { FdoGrabfoodSettings, FdoShopeeFoodSettings } from '@entity'
177
173
  import deliveryData from './delivery.data'
178
174
  import { useDelivery, type DeliveryCompany, type LinkedDeliveryDoc } from './delivery'
179
175
  import { useLoading } from '@/composables/loading'
@@ -194,7 +190,7 @@ import { useSnackbarFunctions } from '@/components/snackbar'
194
190
  import useSearch from '@/composables/search'
195
191
  import DeliveryList from './DeliveryList.vue'
196
192
  import { Pos } from '@feedmepos/core'
197
- import { useI18n } from '@feedmepos/mf-common'
193
+ import { useI18n, useCoreStore } from '@feedmepos/mf-common'
198
194
 
199
195
  const { t } = useI18n()
200
196
  const { searchKey, filter } = useSearch()
@@ -230,14 +226,14 @@ const sideSheet = ref<boolean>(false)
230
226
  const loading = computed(() => {
231
227
  return !currentRestaurant.value || loadingDpi.value
232
228
  })
233
- let localDoc: any
234
- let localDocUpdate: any
229
+ let localDoc: FdoLinkedDelivery | null
230
+ let localDocUpdate: FdoLinkedDelivery | null
235
231
  const selectedIntegratedRow = ref<any>(null)
236
232
  const sideSheetIntegrated = ref<boolean>(false)
237
233
  const selectedLocalRow = ref<any>(null)
238
234
  async function toggleLocalSidesheet(rowData: any) {
239
235
  selectedLocalRow.value = rowData.original ?? rowData
240
- localDoc = getLinkedDeliveryDoc(linkedCompanies.value, selectedLocalRow.value.key)
236
+ localDoc = getLinkedDeliveryDoc(linkedCompanies.value, selectedLocalRow.value.key) ?? null
241
237
  sideSheet.value = true
242
238
  }
243
239
 
@@ -609,6 +605,7 @@ async function updateIntegratedDeliveryCompany(company: IntegratedDeliveryRow) {
609
605
  await updateInHouseSetting()
610
606
  break
611
607
  }
608
+ await readData()
612
609
  }
613
610
 
614
611
  const filteredCompanies = computed(() => {
@@ -748,6 +745,8 @@ async function updateFeedmeExpressSetting() {
748
745
  sideSheetIntegrated.value = false
749
746
 
750
747
  await startAsyncCallWithErr(async () => {
748
+ if (!currentRestaurant.value?._id)
749
+ throw new Error(`${t('updateFeedMeExpressSetting')} - ${t('order.invalidRestaurant')}`)
751
750
  const restaurant = await restaurantStore.updateFeedmeDelivery(
752
751
  currentRestaurant.value?._id ?? '',
753
752
  feedMeDoc.value
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import { ref, watch, computed } from 'vue'
3
- import OfflinePaymentTypeDialogContent from '../dinein/OfflinePaymentTypeDialogContent.vue'
3
+ import OfflinePaymentTypeDialogContent from '../dine-in/OfflinePaymentTypeDialogContent.vue'
4
4
  import type { FdoOfflinePaymentMethod } from '@feedmepos/core/entity'
5
5
  import { useI18n } from '@feedmepos/mf-common'
6
6
 
@@ -1,60 +0,0 @@
1
- import { defineComponent as n, onMounted as s, resolveComponent as a, openBlock as p, createElementBlock as l, createVNode as d } from "vue";
2
- import { g as c, s as h } from "./map-UJBUHidz.js";
3
- class i {
4
- constructor(t = null, e = {}) {
5
- if (this.apiKey = t, this.options = e, typeof window > "u")
6
- throw new Error("google-maps is supported only in browser environment");
7
- }
8
- load() {
9
- return typeof this.api < "u" ? Promise.resolve(this.api) : typeof this.loader < "u" ? this.loader : (window[i.CALLBACK_NAME] = () => {
10
- if (this.api = window.google, typeof this.resolve > "u")
11
- throw new Error("Should not happen");
12
- this.resolve(this.api);
13
- }, window.gm_authFailure = () => {
14
- if (typeof this.reject > "u")
15
- throw new Error("Should not happen");
16
- this.reject(new Error("google-maps: authentication error"));
17
- }, this.loader = new Promise((t, e) => {
18
- this.resolve = t, this.reject = e;
19
- const o = document.createElement("script");
20
- o.src = this.createUrl(), o.async = !0, o.onerror = (r) => e(r), document.head.appendChild(o);
21
- }));
22
- }
23
- createUrl() {
24
- const t = [
25
- `callback=${i.CALLBACK_NAME}`
26
- ];
27
- this.apiKey && t.push(`key=${this.apiKey}`);
28
- for (let e in this.options)
29
- if (this.options.hasOwnProperty(e)) {
30
- let o = this.options[e];
31
- e === "version" && (e = "v"), e === "libraries" && (o = o.join(",")), t.push(`${e}=${o}`);
32
- }
33
- return `https://maps.googleapis.com/maps/api/js?${t.join("&")}`;
34
- }
35
- }
36
- i.CALLBACK_NAME = "_dk_google_maps_loader_cb";
37
- var u = { googleMap: "AIzaSyA_isPR1-9bX7UmRiJIhsIRNNwdn6DdmW4", firebase: {}, gtm: { debug: !1 }, r2: null };
38
- const f = { class: "flex-1 overflow-auto" }, _ = /* @__PURE__ */ n({
39
- __name: "App",
40
- setup(m) {
41
- async function t() {
42
- if (c()) return;
43
- const o = await new i(u.googleMap, {
44
- libraries: ["places"]
45
- }).load();
46
- h(o);
47
- }
48
- return s(async () => {
49
- await t();
50
- }), (e, o) => {
51
- const r = a("RouterView");
52
- return p(), l("div", f, [
53
- d(r)
54
- ]);
55
- };
56
- }
57
- });
58
- export {
59
- _ as default
60
- };