@feedmepos/mf-order-setting 0.0.72-test.1 → 0.0.73-dev
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.
- package/.env +1 -1
- package/README.md +7 -23
- package/dist/{KioskDevicesView-CP_cGMXE.js → KioskDevicesView-Dztw-Q35.js} +1 -1
- package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-CiNLqFw6.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-Ol419NZh.js} +3 -3
- package/dist/{KioskSettingView-BiKYEjfe.js → KioskSettingView-BUHmoxyO.js} +183 -202
- package/dist/{KioskView-BYxPrI7N.js → KioskView-B8j77zMA.js} +4 -4
- package/dist/OrderSettingsView-C5PK8CKZ.js +60009 -0
- package/dist/{app-BN02cB5o.js → app-C2_s0fkK.js} +4921 -4797
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-Bml-FvS7.js → dayjs.min-B3nOmXcs.js} +1 -1
- package/dist/frontend/mf-order/src/api/menu/index.d.ts +1 -1
- package/dist/frontend/mf-order/src/api/remoteOrder/index.d.ts +10 -3
- package/dist/frontend/mf-order/src/app.d.ts +44 -8
- package/dist/frontend/mf-order/src/components/GoogleMap.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/composables/useQrOrderingEnabled.d.ts +2 -0
- package/dist/frontend/mf-order/src/helpers/menu.d.ts +1 -1
- package/dist/frontend/mf-order/src/main.d.ts +44 -8
- package/dist/frontend/mf-order/src/stores/kiosk/index.d.ts +21 -21
- package/dist/frontend/mf-order/src/stores/menu/menu.d.ts +906 -1044
- package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +36 -3
- package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +5 -2
- package/dist/frontend/mf-order/src/views/order-settings/delivery/DeliverySetting.vue.d.ts +2 -2
- package/dist/frontend/mf-order/src/views/order-settings/delivery/components/TaxInput.vue.d.ts +3 -8
- package/dist/frontend/mf-order/src/views/order-settings/delivery/delivery.d.ts +3 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/delivery.data.d.ts +5 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/InHouseDelivery.vue.d.ts +21 -0
- package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue.d.ts +2 -2
- package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/GrabfoodSetting.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue.d.ts +28 -2
- package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/LinemanSetting.vue.d.ts +46 -0
- package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/TngSetting.vue.d.ts +57 -0
- package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpSettingDialogContent.vue.d.ts +23 -1
- package/dist/frontend/mf-order/src/views/order-settings/pickup/Preorder.vue.d.ts +27 -0
- package/dist/frontend/mf-order/src/views/order-settings/servicecharge/RateInput.vue.d.ts +8 -0
- package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
- package/dist/index-6PQJ07gD.js +665 -0
- package/dist/{index-BlKeAWPk.js → index-B4XxBqiV.js} +1 -1
- package/dist/lineman-settings.dto-DcYJFu0U.js +60394 -0
- package/dist/package/entity/_type-assert.d.ts +7 -0
- package/dist/package/entity/booking/booking.dto.d.ts +24 -24
- package/dist/package/entity/delivery/delivery.dto.d.ts +8 -8
- package/dist/package/entity/delivery/delivery.enum.d.ts +12 -0
- package/dist/package/entity/delivery/gateway/grab.dto.d.ts +2 -2
- package/dist/package/entity/delivery/gateway/kosmo.dto.d.ts +16 -16
- package/dist/package/entity/delivery/gateway/pandago.dto.d.ts +4 -4
- package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +282 -4591
- package/dist/package/entity/incoming-order/incoming-order.do.d.ts +32 -24
- package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +23 -11719
- package/dist/package/entity/incoming-order/incoming-order.enum.d.ts +2 -2
- package/dist/package/entity/index.d.ts +12 -0
- package/dist/package/entity/kiosk/kiosk.do.d.ts +140 -140
- package/dist/package/entity/kiosk/kiosk.dto.d.ts +168 -168
- package/dist/package/entity/kiosk/marketing/marketing.dto.d.ts +63 -7
- package/dist/package/entity/marketing/marketing.dto.d.ts +4 -4
- package/dist/package/entity/member/member.dto.d.ts +6 -0
- package/dist/package/entity/order/dine-in/dine-in.do.d.ts +8 -8
- package/dist/package/entity/order/effects/effect.dto.d.ts +68 -16
- package/dist/package/entity/order/menu/menu.dto.d.ts +45 -8
- package/dist/package/entity/order/order-item/order-item.dto.d.ts +358 -3853
- package/dist/package/entity/order/order.do.d.ts +239 -42
- package/dist/package/entity/order/order.dto.d.ts +6497 -2236
- package/dist/package/entity/order/payment/payment.dto.d.ts +52 -12
- package/dist/package/entity/order-platform/base-integration.do.d.ts +8 -0
- package/dist/package/entity/order-platform/deliveroo/deliveroo-dto.d.ts +2 -2
- package/dist/package/entity/order-platform/deliveroo/deliveroo-order.do.d.ts +524 -524
- package/dist/package/entity/order-platform/deliveroo/deliveroo-setting.do.d.ts +2 -2
- package/dist/package/entity/order-platform/deliveroo/deliveroo.menu.dto.d.ts +58 -58
- package/dist/package/entity/order-platform/external/menu/external-master-menu.do.d.ts +212 -284
- package/dist/package/entity/order-platform/external/menu/external-menu.do.d.ts +331 -589
- package/dist/package/entity/order-platform/external/menu/external-menu.dto.d.ts +1 -1
- package/dist/package/entity/order-platform/external/order/external-order.do.d.ts +12 -12
- package/dist/package/entity/order-platform/external/order/external-order.dto.d.ts +275 -275
- package/dist/package/entity/order-platform/external/setting/external-setting.do.d.ts +3 -3
- package/dist/package/entity/order-platform/external/setting/external-setting.dto.d.ts +3 -3
- package/dist/package/entity/order-platform/foodpanda/foodpanda-menu.dto.d.ts +284 -284
- package/dist/package/entity/order-platform/foodpanda/foodpanda-order.do.d.ts +40 -40
- package/dist/package/entity/order-platform/foodpanda/foodpanda-order.dto.d.ts +16 -16
- package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.do.d.ts +2 -2
- package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.dto.d.ts +2 -2
- package/dist/package/entity/order-platform/gofood/gofood-order.do.d.ts +18 -18
- package/dist/package/entity/order-platform/gofood/gofood-settings.do.d.ts +2 -2
- package/dist/package/entity/order-platform/gofood/gofood-settings.dto.d.ts +2 -2
- package/dist/package/entity/order-platform/gofood/gofood.dto.d.ts +32 -32
- package/dist/package/entity/order-platform/grabfood/grabfood-edit-order.do.d.ts +12 -12
- package/dist/package/entity/order-platform/grabfood/grabfood-omni.do.d.ts +134 -115
- package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +187 -165
- package/dist/package/entity/order-platform/grabfood/grabfood-settings.do.d.ts +8 -2
- package/dist/package/entity/order-platform/grabfood/grabfood-webhook.dto.d.ts +49 -42
- package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +67 -54
- package/dist/package/entity/order-platform/grabfood/grabfood.enum.d.ts +1 -1
- package/dist/package/entity/order-platform/lineman/lineman-settings.do.d.ts +37 -0
- package/dist/package/entity/order-platform/lineman/lineman-settings.dto.d.ts +40 -0
- package/dist/package/entity/order-platform/menu.dto.d.ts +716 -13887
- package/dist/package/entity/order-platform/order-platform.dto.d.ts +136 -2
- package/dist/package/entity/order-platform/order-platform.enum.d.ts +1 -1
- package/dist/package/entity/order-platform/shopeefood/shopeefood-order.do.d.ts +176 -176
- package/dist/package/entity/order-platform/shopeefood/shopeefood-order.dto.d.ts +62 -62
- package/dist/package/entity/order-platform/shopeefood/shopeefood-settings.do.d.ts +8 -2
- package/dist/package/entity/order-platform/shopeefood/shopeefood-settings.dto.d.ts +8 -2
- package/dist/package/entity/order-platform/tng/tng-menu.do.d.ts +1061 -0
- package/dist/package/entity/order-platform/tng/tng-order.do.d.ts +1915 -0
- package/dist/package/entity/order-platform/tng/tng-settings.do.d.ts +379 -0
- package/dist/package/entity/order-platform/tng/tng-settings.dto.d.ts +301 -0
- package/dist/package/entity/order-platform/tng/tng.dto.d.ts +1162 -0
- package/dist/package/entity/order-platform/tng/tng.enum.d.ts +29 -0
- package/dist/package/entity/order-setting/delivery/inhouse-delivery.do.d.ts +12 -0
- package/dist/package/entity/order-setting/delivery/inhouse-delivery.dto.d.ts +12 -0
- package/dist/package/entity/order-setting/dine-in/dine-in.do.d.ts +11 -0
- package/dist/package/entity/order-setting/dine-in/dine-in.dto.d.ts +9 -0
- package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +2 -2
- package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +2 -2
- package/dist/package/entity/order-setting/order-setting.do.d.ts +55 -4
- package/dist/package/entity/order-setting/order-setting.dto.d.ts +110 -8
- package/dist/package/entity/order-setting/pickup/pickup.do.d.ts +12 -0
- package/dist/package/entity/order-setting/pickup/pickup.dto.d.ts +12 -0
- package/dist/package/entity/payment/transaction.d.ts +80 -8
- package/dist/package/entity/printer/printer.do.d.ts +14 -14
- package/dist/package/entity/pubsub/ably/ably.enum.d.ts +1 -1
- package/dist/package/entity/queue/queue.do.d.ts +236 -1901
- package/dist/package/entity/queue/queue.dto.d.ts +743 -445
- package/dist/package/entity/restaurant/restaurant.dto.d.ts +27 -4
- package/dist/package/entity/websocket/websocket.dto.d.ts +10 -10
- package/dist/style.css +1 -0
- package/golar.config.ts +20 -0
- package/package.json +9 -3
- package/src/Entry.vue +2 -10
- package/src/api/menu/index.ts +1 -1
- package/src/api/remoteOrder/index.ts +176 -110
- package/src/composables/useQrOrderingEnabled.ts +66 -0
- package/src/helpers/menu.ts +1 -1
- package/src/locales/en-US.json +421 -412
- package/src/locales/ja-JP.json +1769 -1760
- package/src/locales/th-TH.json +409 -400
- package/src/locales/zh-CN.json +417 -408
- package/src/main.ts +4 -44
- package/src/router/index.ts +2 -2
- package/src/stores/menu/menu.ts +48 -27
- package/src/stores/restaurant/index.ts +24 -9
- package/src/utils/firebase-storage.ts +3 -13
- package/src/views/kiosk/settings/KioskSettingView.vue +3 -2
- package/src/views/order-settings/OrderSettingsView.vue +31 -11
- package/src/views/order-settings/delivery/DeliverySetting.vue +223 -11
- package/src/views/order-settings/delivery/components/TaxInput.vue +1 -1
- package/src/views/order-settings/delivery/delivery.data.ts +31 -10
- package/src/views/order-settings/delivery/delivery.ts +60 -28
- package/src/views/order-settings/delivery/inhouse/InHouseDelivery.vue +40 -1
- package/src/views/order-settings/delivery/integrated-delivery/DeliverooSetting.vue +1 -1
- package/src/views/order-settings/delivery/integrated-delivery/GrabfoodSetting.vue +15 -7
- package/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue +83 -27
- package/src/views/order-settings/delivery/integrated-delivery/LinemanSetting.vue +79 -0
- package/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue +2 -0
- package/src/views/order-settings/delivery/integrated-delivery/TngSetting.vue +749 -0
- package/src/views/order-settings/dine-in/DineInSetting.vue +54 -23
- package/src/views/order-settings/dine-in/PaymentType.vue +9 -12
- package/src/views/order-settings/general/GeneralSetting.vue +15 -6
- package/src/views/order-settings/pickup/PickUpSettingDialog.vue +31 -3
- package/src/views/order-settings/pickup/PickUpSettingDialogContent.vue +34 -0
- package/src/views/order-settings/pickup/Preorder.vue +13 -12
- package/src/views/order-settings/queue/QueueSetting.vue +30 -1
- package/src/views/order-settings/servicecharge/RateInput.vue +9 -7
- package/vite.config.ts +16 -16
- package/dist/OrderSettingsView-C7Y-_y5U.js +0 -32222
- package/dist/frontend/mf-order/src/api/auth/index.d.ts +0 -7
- package/dist/frontend/mf-order/src/stores/iframe/index.d.ts +0 -14
- package/dist/index-DZA8A0m4.js +0 -630
- package/dist/queue-transfer.dto-C7nRZOZH.js +0 -45618
- package/src/api/auth/index.ts +0 -20
- package/src/stores/iframe/index.ts +0 -23
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
class="mx-5 xs:my-3 xs:order-1"
|
|
8
8
|
/>
|
|
9
9
|
</div>
|
|
10
|
-
<div class="block">
|
|
10
|
+
<div v-if="qrEnabled" class="block">
|
|
11
11
|
<FmPageHead
|
|
12
12
|
class="flex-grow"
|
|
13
13
|
:title="`${t('order.integratedDeliveryCompany')}`"
|
|
@@ -55,6 +55,13 @@
|
|
|
55
55
|
:can-use-auto-delivery-integration="componentProps.canUseAuto"
|
|
56
56
|
@update:model-value="handleModelValueUpdate"
|
|
57
57
|
/>
|
|
58
|
+
<LinemanSetting
|
|
59
|
+
v-if="componentProps.key === AUTO_INTEGRATION_CLIENT.lineman"
|
|
60
|
+
:initial-value="componentProps.initialValue"
|
|
61
|
+
:company="componentProps.company"
|
|
62
|
+
:can-use-auto-delivery-integration="componentProps.canUseAuto"
|
|
63
|
+
@update:model-value="handleModelValueUpdate"
|
|
64
|
+
/>
|
|
58
65
|
<ShopeefoodSetting
|
|
59
66
|
v-if="componentProps.key === AUTO_INTEGRATION_CLIENT.shopeefood"
|
|
60
67
|
:initial-value="componentProps.initialValue"
|
|
@@ -76,6 +83,15 @@
|
|
|
76
83
|
:can-use-auto-delivery-integration="componentProps.canUseAuto"
|
|
77
84
|
@update:model-value="handleModelValueUpdate"
|
|
78
85
|
/>
|
|
86
|
+
<TngSetting
|
|
87
|
+
v-if="componentProps.key === AUTO_INTEGRATION_CLIENT.tng"
|
|
88
|
+
:initial-value="componentProps.initialValue"
|
|
89
|
+
:company="componentProps.company"
|
|
90
|
+
:can-use-auto-delivery-integration="componentProps.canUseAuto"
|
|
91
|
+
:categorized-items="menuStore.rawCategorizedItems"
|
|
92
|
+
@update:model-value="handleModelValueUpdate"
|
|
93
|
+
@validation-result="handleIntegratedValidationMessage"
|
|
94
|
+
/>
|
|
79
95
|
|
|
80
96
|
<FeedmeDelivery
|
|
81
97
|
v-if="feedMeComponentProps.key === F_ORDER_PLATFORM.enum.FEEDME"
|
|
@@ -88,7 +104,9 @@
|
|
|
88
104
|
v-if="inHouseComponentProps.key === F_ORDER_PLATFORM.enum.IN_HOUSE"
|
|
89
105
|
:initial-value="inHouseComponentProps.initialValue"
|
|
90
106
|
:address="formatAddress((currentRestaurant as any).profile.address)"
|
|
107
|
+
:order-inhouse-delivery-settings="orderInhouseDeliverySettings"
|
|
91
108
|
@update:model-value="handleModelValueUpdateInHouse"
|
|
109
|
+
@update:order-settings="handleOrderInhouseDeliverySettingsUpdate"
|
|
92
110
|
/>
|
|
93
111
|
<ExternalSetting
|
|
94
112
|
v-if="externalComponentProps.key === AUTO_INTEGRATION_CLIENT.external"
|
|
@@ -172,10 +190,18 @@
|
|
|
172
190
|
</template>
|
|
173
191
|
|
|
174
192
|
<script setup lang="ts">
|
|
175
|
-
import { computed, h, ref, watch
|
|
193
|
+
import { computed, h, ref, watch } from 'vue'
|
|
176
194
|
import RestaurantSelector from '../components/RestaurantSelector.vue'
|
|
177
195
|
import { type ColumnDef, useDialog } from '@feedmepos/ui-library'
|
|
178
|
-
import type {
|
|
196
|
+
import type {
|
|
197
|
+
FdoDeliverooSettings,
|
|
198
|
+
FdoFoodpandaSettings,
|
|
199
|
+
FdoExternalSetting,
|
|
200
|
+
FdoLinemanSettings,
|
|
201
|
+
FdoTngSettings,
|
|
202
|
+
TNG_FULFILLMENT_KEY
|
|
203
|
+
} from '@entity'
|
|
204
|
+
import { TNG_FULFILLMENT_KEYS } from '@entity'
|
|
179
205
|
import type {
|
|
180
206
|
FdoLinkedDelivery,
|
|
181
207
|
FdoRestaurantFeedmeDelivery,
|
|
@@ -183,6 +209,8 @@ import type {
|
|
|
183
209
|
} from '@feedmepos/core/entity'
|
|
184
210
|
import { F_DELIVERY_TYPE, F_ORDER_PLATFORM, F_RESTAURANT_FEATURE } from '@feedmepos/core/entity'
|
|
185
211
|
import { FdoGoFoodSettings, FdoGrabfoodSettings, FdoShopeeFoodSettings } from '@entity'
|
|
212
|
+
import type { OrderInhouseDeliverySettingsDto, OrderSettingsDto } from '@entity'
|
|
213
|
+
import { OrderSettingApi } from '@/api/order-setting'
|
|
186
214
|
import deliveryData from './delivery.data'
|
|
187
215
|
import { useDelivery, type DeliveryCompany, type LinkedDeliveryDoc } from './delivery'
|
|
188
216
|
import { useLoading } from '@/composables/loading'
|
|
@@ -194,7 +222,9 @@ import { insertOrUpdate, remove, sort } from '@/helpers/iteration'
|
|
|
194
222
|
import type { FdoRestaurantFeedme } from '../delivery/integrated-delivery/FeedmeDelivery.vue'
|
|
195
223
|
import FoodpandaSetting from './integrated-delivery/FoodpandaSetting.vue'
|
|
196
224
|
import GrabfoodSetting from './integrated-delivery/GrabfoodSetting.vue'
|
|
225
|
+
import LinemanSetting from './integrated-delivery/LinemanSetting.vue'
|
|
197
226
|
import ShopeefoodSetting from './integrated-delivery/ShopeefoodSetting.vue'
|
|
227
|
+
import TngSetting from './integrated-delivery/TngSetting.vue'
|
|
198
228
|
import GoFoodSetting from './integrated-delivery/GoFoodSetting.vue'
|
|
199
229
|
import ExternalSetting from './integrated-delivery/ExternalSetting.vue'
|
|
200
230
|
import { useRestaurantStore } from '@/stores/restaurant'
|
|
@@ -208,10 +238,12 @@ import DeliverooSetting from './integrated-delivery/DeliverooSetting.vue'
|
|
|
208
238
|
import FeedmeExpressDeprecationNotice from './components/FeedmeExpressDeprecationNotice.vue'
|
|
209
239
|
import { useDeprecationNotice } from '@/composables/useDeprecationNotice'
|
|
210
240
|
import { useI18n, useCoreStore } from '@feedmepos/mf-common'
|
|
241
|
+
import { useQrOrderingEnabled } from '@/composables/useQrOrderingEnabled'
|
|
211
242
|
|
|
212
243
|
const { t } = useI18n()
|
|
244
|
+
const qrEnabled = useQrOrderingEnabled()
|
|
213
245
|
const { searchKey, filter } = useSearch()
|
|
214
|
-
const { showSuccess } = useSnackbarFunctions()
|
|
246
|
+
const { showError, showSuccess } = useSnackbarFunctions()
|
|
215
247
|
const restaurantStore = useRestaurantStore()
|
|
216
248
|
const {
|
|
217
249
|
currentRestaurant,
|
|
@@ -271,7 +303,9 @@ type IntegratedDeliveryCompany =
|
|
|
271
303
|
| FdoRestaurantFeedmeDelivery
|
|
272
304
|
| FdoFoodpandaSettings
|
|
273
305
|
| FdoGrabfoodSettings
|
|
306
|
+
| FdoLinemanSettings
|
|
274
307
|
| FdoShopeeFoodSettings
|
|
308
|
+
| FdoTngSettings
|
|
275
309
|
| FdoGoFoodSettings
|
|
276
310
|
| FdoExternalSetting
|
|
277
311
|
export interface IntegratedDeliveryRow extends DeliveryRow {
|
|
@@ -315,6 +349,10 @@ async function toggleIntegratedSidesheet(data: any) {
|
|
|
315
349
|
title.value = `${t('order.manageDelivery', { company: 'grabfood' })}`
|
|
316
350
|
updateIntegratedDeliveryType(rowData)
|
|
317
351
|
break
|
|
352
|
+
case AUTO_INTEGRATION_CLIENT.lineman:
|
|
353
|
+
title.value = `${t('order.manageDelivery', { company: 'Lineman' })}`
|
|
354
|
+
updateIntegratedDeliveryType(rowData)
|
|
355
|
+
break
|
|
318
356
|
case AUTO_INTEGRATION_CLIENT.shopeefood:
|
|
319
357
|
title.value = `${t('order.manageDelivery', { company: 'shopeefood' })}`
|
|
320
358
|
updateIntegratedDeliveryType(rowData)
|
|
@@ -327,6 +365,10 @@ async function toggleIntegratedSidesheet(data: any) {
|
|
|
327
365
|
title.value = 'Manage deliveroo deivery'
|
|
328
366
|
updateIntegratedDeliveryType(rowData)
|
|
329
367
|
break
|
|
368
|
+
case AUTO_INTEGRATION_CLIENT.tng:
|
|
369
|
+
title.value = `${t('order.manageDelivery', { company: 'TNG' })}`
|
|
370
|
+
updateIntegratedDeliveryType(rowData)
|
|
371
|
+
break
|
|
330
372
|
case F_ORDER_PLATFORM.enum.FEEDME:
|
|
331
373
|
title.value = `${t('order.feedmeExpressTitle')}`
|
|
332
374
|
updateFeedmeExpress(rowData)
|
|
@@ -362,6 +404,16 @@ const inHouseComponentProps = ref({
|
|
|
362
404
|
initialValue: {} as InhouseDialogData
|
|
363
405
|
})
|
|
364
406
|
|
|
407
|
+
// `orderSetting.inhouseDeliverySettings` (bill auto-close / receipt-print) is a
|
|
408
|
+
// separate doc from the restaurant-level in-house delivery setting; loaded when
|
|
409
|
+
// the in-house sidesheet opens and saved alongside it.
|
|
410
|
+
const orderSetting = ref<OrderSettingsDto | undefined>(undefined)
|
|
411
|
+
const orderInhouseDeliverySettings = ref<OrderInhouseDeliverySettingsDto>({})
|
|
412
|
+
|
|
413
|
+
function handleOrderInhouseDeliverySettingsUpdate(v: OrderInhouseDeliverySettingsDto) {
|
|
414
|
+
orderInhouseDeliverySettings.value = v
|
|
415
|
+
}
|
|
416
|
+
|
|
365
417
|
const externalComponentProps = ref({
|
|
366
418
|
key: '' as string,
|
|
367
419
|
initialValue: {} as FdoExternalSetting
|
|
@@ -443,6 +495,12 @@ async function updateInHouse({ key, setting }: IntegratedDeliveryRow) {
|
|
|
443
495
|
taxes: inhouseSetting.taxes || {}
|
|
444
496
|
}
|
|
445
497
|
}
|
|
498
|
+
|
|
499
|
+
await startAsyncCallWithErr(async () => {
|
|
500
|
+
const orderSettingData = await OrderSettingApi.getOrderSetting()
|
|
501
|
+
orderSetting.value = orderSettingData
|
|
502
|
+
orderInhouseDeliverySettings.value = orderSettingData.inhouseDeliverySettings ?? {}
|
|
503
|
+
})
|
|
446
504
|
}
|
|
447
505
|
|
|
448
506
|
async function updateExternalDelivery({ key, setting }: IntegratedDeliveryRow) {
|
|
@@ -538,14 +596,23 @@ const grabfood = computed<FdoGrabfoodSettings>(() => {
|
|
|
538
596
|
return {
|
|
539
597
|
...deliveryData.initGrabfoodDelivery(),
|
|
540
598
|
...grabfoodSetting.value,
|
|
541
|
-
partnerMerchantID: grabfoodSetting?.value?._id
|
|
599
|
+
partnerMerchantID: grabfoodSetting?.value?._id,
|
|
600
|
+
ignoreDiscount: grabfoodSetting?.value?.ignoreDiscount ?? false
|
|
601
|
+
}
|
|
602
|
+
})
|
|
603
|
+
|
|
604
|
+
const lineman = computed<FdoLinemanSettings>(() => {
|
|
605
|
+
return {
|
|
606
|
+
...deliveryData.initLinemanDelivery(),
|
|
607
|
+
...linemanSetting.value
|
|
542
608
|
}
|
|
543
609
|
})
|
|
544
610
|
|
|
545
611
|
const shopee = computed<FdoShopeeFoodSettings>(() => {
|
|
546
612
|
return {
|
|
547
613
|
...deliveryData.initShopeefoodDelivery(),
|
|
548
|
-
...shopeefoodSetting.value
|
|
614
|
+
...shopeefoodSetting.value,
|
|
615
|
+
ignoreDiscount: shopeefoodSetting?.value?.ignoreDiscount ?? false
|
|
549
616
|
}
|
|
550
617
|
})
|
|
551
618
|
|
|
@@ -563,6 +630,13 @@ const deliveroo = computed<FdoDeliverooSettings>(() => {
|
|
|
563
630
|
}
|
|
564
631
|
})
|
|
565
632
|
|
|
633
|
+
const tng = computed<FdoTngSettings>(() => {
|
|
634
|
+
return {
|
|
635
|
+
...deliveryData.initTngDelivery(),
|
|
636
|
+
...tngSetting.value
|
|
637
|
+
}
|
|
638
|
+
})
|
|
639
|
+
|
|
566
640
|
const external = computed<FdoExternalSetting>(() => {
|
|
567
641
|
return {
|
|
568
642
|
...deliveryData.initExternalDelivery(),
|
|
@@ -595,6 +669,26 @@ function getCatalog(catalogId: string | null) {
|
|
|
595
669
|
return menuStore.catalogOptions.find(({ value }) => value === catalogId)?.label || ''
|
|
596
670
|
}
|
|
597
671
|
|
|
672
|
+
function getTngCatalog(setting: FdoTngSettings): string {
|
|
673
|
+
return (
|
|
674
|
+
TNG_FULFILLMENT_KEYS.flatMap((mode) =>
|
|
675
|
+
setting?.[mode] ? [getCatalog(setting[mode]?.catalogId ?? null)] : []
|
|
676
|
+
)
|
|
677
|
+
.filter((v) => !!v)
|
|
678
|
+
.filter((v, i, arr) => arr.indexOf(v) === i)
|
|
679
|
+
.join(', ') || '-'
|
|
680
|
+
)
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
function getTngPaymentType(setting: FdoTngSettings): string {
|
|
684
|
+
return (
|
|
685
|
+
TNG_FULFILLMENT_KEYS.flatMap((mode) => setting?.[mode]?.paymentMethods ?? [])
|
|
686
|
+
.filter((v, i, arr) => arr.indexOf(v) === i)
|
|
687
|
+
.map((m) => (m === 'TNGD' ? 'TNGD' : 'Cashier'))
|
|
688
|
+
.join(', ') || '-'
|
|
689
|
+
)
|
|
690
|
+
}
|
|
691
|
+
|
|
598
692
|
function hasPurchaseFeature(deliveryType: string) {
|
|
599
693
|
const features = currentRestaurant.value?.features || []
|
|
600
694
|
const featureKey = equalKey(deliveryType, AUTO_INTEGRATION_CLIENT.foodpanda)
|
|
@@ -613,9 +707,11 @@ const integratedCompanies = computed<IntegratedDeliveryRow[]>(() => {
|
|
|
613
707
|
deliveryCompanies.value.find(({ key }) => equalKey(key, client))
|
|
614
708
|
const fpIntegrate = getIntegrateDoc(AUTO_INTEGRATION_CLIENT.foodpanda)
|
|
615
709
|
const grabIntegrate = getIntegrateDoc(AUTO_INTEGRATION_CLIENT.grabfood)
|
|
710
|
+
const linemanIntegrate = getIntegrateDoc(AUTO_INTEGRATION_CLIENT.lineman)
|
|
616
711
|
const sfIntegrate = getIntegrateDoc(AUTO_INTEGRATION_CLIENT.shopeefood)
|
|
617
712
|
const gofoodIntegrate = getIntegrateDoc(AUTO_INTEGRATION_CLIENT.gofood)
|
|
618
713
|
const drIntegrate = getIntegrateDoc(AUTO_INTEGRATION_CLIENT.deliveroo)
|
|
714
|
+
const tngIntegrate = getIntegrateDoc(AUTO_INTEGRATION_CLIENT.tng)
|
|
619
715
|
|
|
620
716
|
const generateStatus = (integrateActive: boolean) => {
|
|
621
717
|
return integrateActive ? 'Active' : 'Inactive'
|
|
@@ -669,6 +765,17 @@ const integratedCompanies = computed<IntegratedDeliveryRow[]>(() => {
|
|
|
669
765
|
catalog: getCatalog(grabfood.value?.catalogId || null),
|
|
670
766
|
canUseAutoDeliveryIntegration: canUseAutoDeliveryIntegration(AUTO_INTEGRATION_CLIENT.grabfood)
|
|
671
767
|
},
|
|
768
|
+
{
|
|
769
|
+
id: loadingKey.value.lm,
|
|
770
|
+
name: 'Lineman delivery',
|
|
771
|
+
key: AUTO_INTEGRATION_CLIENT.lineman,
|
|
772
|
+
company: linemanIntegrate,
|
|
773
|
+
paymentType: 'Default',
|
|
774
|
+
status: [generateStatus(lineman.value.enable)],
|
|
775
|
+
setting: lineman.value,
|
|
776
|
+
catalog: getCatalog(lineman.value.catalogId || null),
|
|
777
|
+
canUseAutoDeliveryIntegration: canUseAutoDeliveryIntegration(AUTO_INTEGRATION_CLIENT.lineman)
|
|
778
|
+
},
|
|
672
779
|
{
|
|
673
780
|
id: loadingKey.value.sf,
|
|
674
781
|
name: 'ShopeeFood delivery',
|
|
@@ -691,9 +798,7 @@ const integratedCompanies = computed<IntegratedDeliveryRow[]>(() => {
|
|
|
691
798
|
status: [generateStatus(gofood.value.enable)],
|
|
692
799
|
setting: gofood.value,
|
|
693
800
|
catalog: getCatalog(gofood.value.catalogId || null),
|
|
694
|
-
canUseAutoDeliveryIntegration: canUseAutoDeliveryIntegration(
|
|
695
|
-
AUTO_INTEGRATION_CLIENT.gofood
|
|
696
|
-
)
|
|
801
|
+
canUseAutoDeliveryIntegration: canUseAutoDeliveryIntegration(AUTO_INTEGRATION_CLIENT.gofood)
|
|
697
802
|
},
|
|
698
803
|
{
|
|
699
804
|
id: loadingKey.value.dr,
|
|
@@ -708,6 +813,17 @@ const integratedCompanies = computed<IntegratedDeliveryRow[]>(() => {
|
|
|
708
813
|
AUTO_INTEGRATION_CLIENT.deliveroo
|
|
709
814
|
)
|
|
710
815
|
},
|
|
816
|
+
{
|
|
817
|
+
id: loadingKey.value.tng,
|
|
818
|
+
name: 'TNG delivery',
|
|
819
|
+
key: AUTO_INTEGRATION_CLIENT.tng,
|
|
820
|
+
company: tngIntegrate,
|
|
821
|
+
paymentType: getTngPaymentType(tng.value),
|
|
822
|
+
status: [generateStatus(tng.value.enable)],
|
|
823
|
+
setting: tng.value,
|
|
824
|
+
catalog: getTngCatalog(tng.value),
|
|
825
|
+
canUseAutoDeliveryIntegration: canUseAutoDeliveryIntegration(AUTO_INTEGRATION_CLIENT.tng)
|
|
826
|
+
},
|
|
711
827
|
{
|
|
712
828
|
id: loadingKey.value.external,
|
|
713
829
|
name: 'External delivery',
|
|
@@ -733,10 +849,12 @@ const loadingKey = computed(() => {
|
|
|
733
849
|
inhouse: `${id}_inhouse`,
|
|
734
850
|
fp: `${id}_fp`,
|
|
735
851
|
gf: `${id}_gf`,
|
|
852
|
+
lm: `${id}_lm`,
|
|
736
853
|
sf: `${id}_sf`,
|
|
737
854
|
gofood: `${id}_gofood`,
|
|
738
855
|
fm: `${id}_fm`,
|
|
739
856
|
dr: `${id}_dr`,
|
|
857
|
+
tng: `${id}_tng`,
|
|
740
858
|
external: `${id}_external`,
|
|
741
859
|
local: (deliveryName: string) => `${id}_${deliveryName}`
|
|
742
860
|
}
|
|
@@ -750,6 +868,9 @@ async function updateIntegratedDeliveryCompany() {
|
|
|
750
868
|
case AUTO_INTEGRATION_CLIENT.grabfood:
|
|
751
869
|
await updateIntegratedDeliverySetting()
|
|
752
870
|
break
|
|
871
|
+
case AUTO_INTEGRATION_CLIENT.lineman:
|
|
872
|
+
await updateIntegratedDeliverySetting()
|
|
873
|
+
break
|
|
753
874
|
case AUTO_INTEGRATION_CLIENT.shopeefood:
|
|
754
875
|
await updateIntegratedDeliverySetting()
|
|
755
876
|
break
|
|
@@ -759,6 +880,9 @@ async function updateIntegratedDeliveryCompany() {
|
|
|
759
880
|
case AUTO_INTEGRATION_CLIENT.deliveroo:
|
|
760
881
|
await updateIntegratedDeliverySetting()
|
|
761
882
|
break
|
|
883
|
+
case AUTO_INTEGRATION_CLIENT.tng:
|
|
884
|
+
await updateIntegratedDeliverySetting()
|
|
885
|
+
break
|
|
762
886
|
case F_ORDER_PLATFORM.enum.FEEDME:
|
|
763
887
|
await updateFeedmeExpressSetting()
|
|
764
888
|
break
|
|
@@ -788,9 +912,11 @@ const filteredCompanies = computed(() => {
|
|
|
788
912
|
|
|
789
913
|
const grabfoodSetting = ref<FdoGrabfoodSettings | null>(null)
|
|
790
914
|
const foodpandaSetting = ref<FdoFoodpandaSettings | null>(null)
|
|
915
|
+
const linemanSetting = ref<FdoLinemanSettings | null>(null)
|
|
791
916
|
const shopeefoodSetting = ref<FdoShopeeFoodSettings | null>(null)
|
|
792
917
|
const gofoodSetting = ref<FdoGoFoodSettings | null>(null)
|
|
793
918
|
const deliverooSetting = ref<FdoDeliverooSettings | null>(null)
|
|
919
|
+
const tngSetting = ref<FdoTngSettings | null>(null)
|
|
794
920
|
const externalSetting = ref<FdoExternalSetting | null>(null)
|
|
795
921
|
const loadingDpi = ref<boolean>(false)
|
|
796
922
|
|
|
@@ -809,6 +935,13 @@ async function readData() {
|
|
|
809
935
|
? await remoteOrderApi.integratedDelivery.readGrabfood(currentRestaurant.value?._id || '')
|
|
810
936
|
: null
|
|
811
937
|
|
|
938
|
+
linemanSetting.value = isIntegratedPlatformSupported(
|
|
939
|
+
AUTO_INTEGRATION_CLIENT.lineman,
|
|
940
|
+
currentCountry.value
|
|
941
|
+
)
|
|
942
|
+
? await remoteOrderApi.integratedDelivery.readLineman(currentRestaurant.value?._id || '')
|
|
943
|
+
: null
|
|
944
|
+
|
|
812
945
|
foodpandaSetting.value = isIntegratedPlatformSupported(
|
|
813
946
|
AUTO_INTEGRATION_CLIENT.foodpanda,
|
|
814
947
|
currentCountry.value
|
|
@@ -833,6 +966,12 @@ async function readData() {
|
|
|
833
966
|
)
|
|
834
967
|
? await remoteOrderApi.integratedDelivery.readDeliveroo(currentRestaurant.value?._id || '')
|
|
835
968
|
: null
|
|
969
|
+
tngSetting.value = isIntegratedPlatformSupported(
|
|
970
|
+
AUTO_INTEGRATION_CLIENT.tng,
|
|
971
|
+
currentCountry.value
|
|
972
|
+
)
|
|
973
|
+
? await remoteOrderApi.integratedDelivery.readTng(currentRestaurant.value?._id || '')
|
|
974
|
+
: null
|
|
836
975
|
externalSetting.value = isIntegratedPlatformSupported(
|
|
837
976
|
AUTO_INTEGRATION_CLIENT.external,
|
|
838
977
|
currentCountry.value
|
|
@@ -966,7 +1105,16 @@ async function updateFeedmeExpressSetting() {
|
|
|
966
1105
|
async function updateInHouseSetting() {
|
|
967
1106
|
sideSheetIntegrated.value = false
|
|
968
1107
|
await startAsyncCallWithErr(async () => {
|
|
969
|
-
await restaurantStore.updateInhouseDelivery(
|
|
1108
|
+
await restaurantStore.updateInhouseDelivery(
|
|
1109
|
+
currentRestaurant.value?._id ?? '',
|
|
1110
|
+
inHouseDoc.value
|
|
1111
|
+
)
|
|
1112
|
+
if (orderSetting.value) {
|
|
1113
|
+
orderSetting.value = await OrderSettingApi.updateOrderSetting({
|
|
1114
|
+
...orderSetting.value,
|
|
1115
|
+
inhouseDeliverySettings: orderInhouseDeliverySettings.value
|
|
1116
|
+
})
|
|
1117
|
+
}
|
|
970
1118
|
const res = (await readRestaurants())?.find((res) => res._id === currentRestaurant.value?._id)
|
|
971
1119
|
if (res) {
|
|
972
1120
|
await changeRestaurant(res)
|
|
@@ -1000,7 +1148,9 @@ async function updateDelivery(
|
|
|
1000
1148
|
integrated:
|
|
1001
1149
|
| FdoFoodpandaSettings
|
|
1002
1150
|
| FdoGrabfoodSettings
|
|
1151
|
+
| FdoLinemanSettings
|
|
1003
1152
|
| FdoShopeeFoodSettings
|
|
1153
|
+
| FdoTngSettings
|
|
1004
1154
|
| FdoGoFoodSettings,
|
|
1005
1155
|
hasOriDeliverySetting: boolean,
|
|
1006
1156
|
canUseAutoDeliveryIntegration?: string | boolean
|
|
@@ -1008,7 +1158,7 @@ async function updateDelivery(
|
|
|
1008
1158
|
await updateManualDelivery({ doc: manual.doc, company: manual.company, data: manual.data })
|
|
1009
1159
|
if ((canUseAutoDeliveryIntegration === true && hasOriDeliverySetting) || integrated.enable) {
|
|
1010
1160
|
switch (client) {
|
|
1011
|
-
case AUTO_INTEGRATION_CLIENT.foodpanda:
|
|
1161
|
+
case AUTO_INTEGRATION_CLIENT.foodpanda: {
|
|
1012
1162
|
const integratedDocument = integrated as FdoFoodpandaSettings
|
|
1013
1163
|
|
|
1014
1164
|
await restaurantStore.updateIntegratedFoodpandaDelivery(
|
|
@@ -1016,12 +1166,19 @@ async function updateDelivery(
|
|
|
1016
1166
|
{ ...integratedDocument, autoAccept: integratedDocument.autoAccept ?? true }
|
|
1017
1167
|
)
|
|
1018
1168
|
break
|
|
1169
|
+
}
|
|
1019
1170
|
case AUTO_INTEGRATION_CLIENT.grabfood:
|
|
1020
1171
|
await restaurantStore.updateIntegratedGrabfoodDelivery(
|
|
1021
1172
|
currentRestaurant.value?._id ?? '',
|
|
1022
1173
|
integrated as FdoGrabfoodSettings
|
|
1023
1174
|
)
|
|
1024
1175
|
break
|
|
1176
|
+
case AUTO_INTEGRATION_CLIENT.lineman:
|
|
1177
|
+
await restaurantStore.updateIntegratedLinemanDelivery(
|
|
1178
|
+
currentRestaurant.value?._id ?? '',
|
|
1179
|
+
integrated as FdoLinemanSettings
|
|
1180
|
+
)
|
|
1181
|
+
break
|
|
1025
1182
|
case AUTO_INTEGRATION_CLIENT.shopeefood:
|
|
1026
1183
|
await restaurantStore.updateIntegratedShopeefoodDelivery(
|
|
1027
1184
|
currentRestaurant.value?._id ?? '',
|
|
@@ -1039,6 +1196,50 @@ async function updateDelivery(
|
|
|
1039
1196
|
currentRestaurant.value?._id ?? '',
|
|
1040
1197
|
integrated as FdoDeliverooSettings
|
|
1041
1198
|
)
|
|
1199
|
+
break
|
|
1200
|
+
case AUTO_INTEGRATION_CLIENT.tng:
|
|
1201
|
+
{
|
|
1202
|
+
const integratedDocument = integrated as FdoTngSettings
|
|
1203
|
+
const hasFulfillmentMode = TNG_FULFILLMENT_KEYS.some((mode: TNG_FULFILLMENT_KEY) =>
|
|
1204
|
+
Boolean(integratedDocument[mode])
|
|
1205
|
+
)
|
|
1206
|
+
|
|
1207
|
+
if (integratedDocument.enable && !hasFulfillmentMode) {
|
|
1208
|
+
showError('At least one fulfillment mode is required')
|
|
1209
|
+
return
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
const cleanFulfillment = (config: any) => {
|
|
1213
|
+
if (!config) return config
|
|
1214
|
+
return {
|
|
1215
|
+
...config,
|
|
1216
|
+
serviceCharge: (config.serviceCharge ?? []).filter(
|
|
1217
|
+
(sc: any) => sc.items === null || (Array.isArray(sc.items) && sc.items.length > 0)
|
|
1218
|
+
)
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1222
|
+
const tngPayload: FdoTngSettings = {
|
|
1223
|
+
enable: integratedDocument.enable,
|
|
1224
|
+
partnerMerchantId: integratedDocument.partnerMerchantId,
|
|
1225
|
+
autoAccept: integratedDocument.autoAccept,
|
|
1226
|
+
autoCloseBill: integratedDocument.autoCloseBill,
|
|
1227
|
+
printReceiptAfterClose: integratedDocument.printReceiptAfterClose,
|
|
1228
|
+
canRemark: integratedDocument.canRemark,
|
|
1229
|
+
status: integratedDocument.status,
|
|
1230
|
+
dineIn: cleanFulfillment(integratedDocument.dineIn),
|
|
1231
|
+
pickup: cleanFulfillment(integratedDocument.pickup),
|
|
1232
|
+
reservation: cleanFulfillment(integratedDocument.reservation),
|
|
1233
|
+
updatedAt: integratedDocument.updatedAt,
|
|
1234
|
+
lastSynchronize: integratedDocument.lastSynchronize,
|
|
1235
|
+
menuSyncError: integratedDocument.menuSyncError
|
|
1236
|
+
}
|
|
1237
|
+
await remoteOrderApi.integratedDelivery.updateTng(
|
|
1238
|
+
currentRestaurant.value?._id ?? '',
|
|
1239
|
+
tngPayload
|
|
1240
|
+
)
|
|
1241
|
+
}
|
|
1242
|
+
break
|
|
1042
1243
|
}
|
|
1043
1244
|
}
|
|
1044
1245
|
}
|
|
@@ -1072,6 +1273,7 @@ function handleModelValueUpdateExternal(v: any) {
|
|
|
1072
1273
|
}
|
|
1073
1274
|
|
|
1074
1275
|
const feedmeValidate = ref<boolean | null>(null)
|
|
1276
|
+
const integratedValidationMessage = ref<string | null>(null)
|
|
1075
1277
|
const isAdmin = computed(() => sessionUser.value?.role?.isAdmin ?? false)
|
|
1076
1278
|
|
|
1077
1279
|
const canSave = computed(() => {
|
|
@@ -1086,6 +1288,10 @@ function handleValidationResult(v: boolean) {
|
|
|
1086
1288
|
feedmeValidate.value = v
|
|
1087
1289
|
}
|
|
1088
1290
|
|
|
1291
|
+
function handleIntegratedValidationMessage(message: string | null) {
|
|
1292
|
+
integratedValidationMessage.value = message
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1089
1295
|
type status = 'Manual' | 'Active' | 'Inactive'
|
|
1090
1296
|
|
|
1091
1297
|
function convertStatustoI18(status: status): [string] {
|
|
@@ -1106,10 +1312,12 @@ type companyName =
|
|
|
1106
1312
|
| 'FeedMe express'
|
|
1107
1313
|
| 'Food Panda delivery'
|
|
1108
1314
|
| 'Grab Food delivery'
|
|
1315
|
+
| 'Lineman delivery'
|
|
1109
1316
|
| 'ShopeeFood delivery'
|
|
1110
1317
|
| 'GoFood delivery'
|
|
1111
1318
|
| 'Deliveroo delivery'
|
|
1112
1319
|
| 'External delivery'
|
|
1320
|
+
| 'TNG delivery'
|
|
1113
1321
|
|
|
1114
1322
|
function convertIntegratedCompanyName(name: companyName): string {
|
|
1115
1323
|
switch (name) {
|
|
@@ -1121,12 +1329,16 @@ function convertIntegratedCompanyName(name: companyName): string {
|
|
|
1121
1329
|
return `${t('order.deliveryTitle', { company: 'Food Panda' })}`
|
|
1122
1330
|
case 'Grab Food delivery':
|
|
1123
1331
|
return `${t('order.deliveryTitle', { company: 'Grab Food' })}`
|
|
1332
|
+
case 'Lineman delivery':
|
|
1333
|
+
return `${t('order.deliveryTitle', { company: 'Lineman' })}`
|
|
1124
1334
|
case 'ShopeeFood delivery':
|
|
1125
1335
|
return `${t('order.deliveryTitle', { company: 'ShopeeFood' })}`
|
|
1126
1336
|
case 'GoFood delivery':
|
|
1127
1337
|
return `${t('order.deliveryTitle', { company: 'GoFood' })}`
|
|
1128
1338
|
case 'Deliveroo delivery':
|
|
1129
1339
|
return `${t('order.deliveryTitle', { company: 'Deliveroo' })}`
|
|
1340
|
+
case 'TNG delivery':
|
|
1341
|
+
return `${t('order.deliveryTitle', { company: 'TNG' })}`
|
|
1130
1342
|
case 'External delivery':
|
|
1131
1343
|
return `${t('order.externalDelivery')}`
|
|
1132
1344
|
default:
|
|
@@ -3,7 +3,7 @@ import { computed } from 'vue';
|
|
|
3
3
|
import type { PropType } from 'vue';
|
|
4
4
|
import { ItemTax } from '@/helpers/menu';
|
|
5
5
|
import type { Tax } from '@/helpers/menu';
|
|
6
|
-
import { FdoProductTaxSetting } from '@feedmepos/
|
|
6
|
+
import { FdoProductTaxSetting } from '@feedmepos/entity';
|
|
7
7
|
|
|
8
8
|
const props = defineProps({
|
|
9
9
|
modelValue: {
|
|
@@ -2,14 +2,13 @@ import type {
|
|
|
2
2
|
FdoDeliverooSettings,
|
|
3
3
|
FdoExternalSetting,
|
|
4
4
|
FdoGrabfoodSettings,
|
|
5
|
+
FdoLinemanSettings,
|
|
5
6
|
FdoShopeeFoodSettings,
|
|
6
7
|
FdoFoodpandaSettings,
|
|
8
|
+
FdoTngSettings,
|
|
7
9
|
FdoGoFoodSettings
|
|
8
|
-
} from '@entity'
|
|
9
|
-
import {
|
|
10
|
-
FdoRestaurantFeedmeDelivery,
|
|
11
|
-
FdoRestaurantInHouseDelivery
|
|
12
|
-
} from '@feedmepos/core/entity'
|
|
10
|
+
} from '@entity'
|
|
11
|
+
import { FdoRestaurantFeedmeDelivery, FdoRestaurantInHouseDelivery } from '@feedmepos/core/entity'
|
|
13
12
|
|
|
14
13
|
function initInhouseDelivery(): FdoRestaurantInHouseDelivery {
|
|
15
14
|
return {
|
|
@@ -44,17 +43,26 @@ export function initFoodpandaDelivery(): FdoFoodpandaSettings {
|
|
|
44
43
|
commissionRate: 0
|
|
45
44
|
},
|
|
46
45
|
autoAccept: true
|
|
47
|
-
}
|
|
46
|
+
}
|
|
48
47
|
}
|
|
49
48
|
|
|
50
|
-
|
|
51
49
|
function initGrabfoodDelivery(): FdoGrabfoodSettings {
|
|
52
50
|
return {
|
|
53
51
|
enable: false,
|
|
54
52
|
merchantID: '',
|
|
55
53
|
catalogId: null,
|
|
56
54
|
autoCloseBill: false,
|
|
57
|
-
commissionRate: 0
|
|
55
|
+
commissionRate: 0
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function initLinemanDelivery(): FdoLinemanSettings {
|
|
60
|
+
return {
|
|
61
|
+
enable: false,
|
|
62
|
+
partnerID: '',
|
|
63
|
+
catalogId: null,
|
|
64
|
+
autoCloseBill: false,
|
|
65
|
+
printReceiptAfterClose: true
|
|
58
66
|
}
|
|
59
67
|
}
|
|
60
68
|
|
|
@@ -80,6 +88,17 @@ function initDeliverooDelivery(): FdoDeliverooSettings {
|
|
|
80
88
|
}
|
|
81
89
|
}
|
|
82
90
|
|
|
91
|
+
function initTngDelivery(): FdoTngSettings {
|
|
92
|
+
return {
|
|
93
|
+
enable: false,
|
|
94
|
+
partnerMerchantId: '',
|
|
95
|
+
autoAccept: true,
|
|
96
|
+
autoCloseBill: false,
|
|
97
|
+
printReceiptAfterClose: true,
|
|
98
|
+
canRemark: true
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
83
102
|
function initGoFoodDelivery(): FdoGoFoodSettings {
|
|
84
103
|
return {
|
|
85
104
|
enable: false,
|
|
@@ -96,9 +115,9 @@ function initExternalDelivery(): FdoExternalSetting {
|
|
|
96
115
|
autoAccept: true,
|
|
97
116
|
autoSend: true,
|
|
98
117
|
autoCloseBill: false,
|
|
99
|
-
printReceiptAfterClose: false
|
|
118
|
+
printReceiptAfterClose: false
|
|
100
119
|
},
|
|
101
|
-
platform: 'ZUS'
|
|
120
|
+
platform: 'ZUS'
|
|
102
121
|
}
|
|
103
122
|
}
|
|
104
123
|
|
|
@@ -107,8 +126,10 @@ export default {
|
|
|
107
126
|
initFeedmeExpress,
|
|
108
127
|
initFoodpandaDelivery,
|
|
109
128
|
initGrabfoodDelivery,
|
|
129
|
+
initLinemanDelivery,
|
|
110
130
|
initShopeefoodDelivery,
|
|
111
131
|
initDeliverooDelivery,
|
|
132
|
+
initTngDelivery,
|
|
112
133
|
initGoFoodDelivery,
|
|
113
134
|
initExternalDelivery
|
|
114
135
|
}
|