@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.
- package/dist/{KioskDevicesView-snR43qzG.js → KioskDevicesView-Cb7Rw7t8.js} +1 -1
- package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-DkpYway-.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-raPhhBpi.js} +45 -44
- package/dist/KioskSettingView-BQgyeWbo.js +649 -0
- package/dist/KioskView-BLkuqfZ_.js +371 -0
- package/dist/OrderSettingsView-BJ1b1Qjg.js +70873 -0
- package/dist/app-BY258ajB.js +644 -0
- package/dist/app.js +4 -505
- package/dist/auth.dto-BOoRSQkS.js +121725 -0
- package/dist/dayjs.min-4COVK72W.js +2110 -0
- package/dist/frontend/mf-order/src/app.d.ts +440 -410
- package/dist/frontend/mf-order/src/components/GoogleMap.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/modules/order-setting/kiosk/interface.d.ts +18 -0
- package/dist/frontend/mf-order/src/stores/app/index.d.ts +4 -14
- package/dist/frontend/mf-order/src/stores/iframe/index.d.ts +2 -2
- package/dist/frontend/mf-order/src/stores/kiosk/index.d.ts +2 -2
- package/dist/frontend/mf-order/src/stores/menu/menu.d.ts +35 -30
- package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +242 -2
- package/dist/frontend/mf-order/src/stores/order-setting/mapper.d.ts +2 -1
- package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +750 -614
- package/dist/frontend/mf-order/src/views/all-orders/ActionMenuCell.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/all-orders/FilterStatus.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/all-orders/FilterStatusMenu.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/all-orders/ReflowOrder.vue.d.ts +175 -141
- package/dist/frontend/mf-order/src/views/all-orders/UpdateDeliveryOrderDialog.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/kiosk/KioskSummary.vue.d.ts +1 -0
- package/dist/frontend/mf-order/src/views/kiosk/devices/KioskUnbindConfirm.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDineInSection.vue.d.ts +2 -4
- package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDisplayStandSection.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/kiosk/settings/KioskMenuItemSection.vue.d.ts +9 -0
- package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPaymentTypeSection.vue.d.ts +93 -0
- package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPickAtCounterSection.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/kiosk/settings/KioskSettingView.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/kiosk/settings/KioskTakeawaySection.vue.d.ts +2 -4
- package/dist/frontend/mf-order/src/views/order-settings/delivery/DeliveryList.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/components/ManualIntegratedDeliverySetting.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/components/TaxInput.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/CurrencyInput.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryCustomTime.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryOrder.vue.d.ts +35 -3
- package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryTime.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/InHouseDelivery.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/TimePicker.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/ZoneDialog.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FeedmeDelivery.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FoodpandaCampaignDialog.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue.d.ts +1 -1
- 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 +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialog.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialogContent.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/PaymentType.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/pickup/AddressInput.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/pickup/CustomPayment.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/pickup/PaymentSidesheet.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpPointDialog.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpPointDialogContent.vue.d.ts +35 -3
- package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpSettingDialog.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpSettingDialogContent.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/pickup/PickupList.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/pickup/Preorder.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/servicecharge/RateInput.vue.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/servicecharge/ServiceChargeRule.vue.d.ts +1 -1
- package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
- package/dist/index-DSCb3ndM.js +150 -0
- package/dist/{index-BghBxhGG.js → index-t_7ThPjm.js} +25 -24
- package/dist/package/entity/booking/booking.do.d.ts +95 -1025
- package/dist/package/entity/delivery/delivery.dto.d.ts +78 -264
- package/dist/package/entity/delivery/gateway/kosmo.dto.d.ts +2 -2
- package/dist/package/entity/food-court/food-court.dto.d.ts +51 -0
- package/dist/package/entity/food-court/order.dto.d.ts +2528 -6
- package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +1377 -255
- package/dist/package/entity/incoming-order/incoming-order.do.d.ts +632 -129
- package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +1275 -244
- package/dist/package/entity/kiosk/kiosk.do.d.ts +14 -14
- package/dist/package/entity/kiosk/kiosk.dto.d.ts +17 -17
- package/dist/package/entity/kiosk/marketing/marketing.dto.d.ts +105 -883
- package/dist/package/entity/kiosk/scanner/scanner.do.d.ts +9 -9
- package/dist/package/entity/kiosk/scanner/scanner.dto.d.ts +9 -9
- package/dist/package/entity/kiosk/scanner/scanner.enum.d.ts +1 -1
- package/dist/package/entity/member/member.dto.d.ts +2 -2
- package/dist/package/entity/order/effects/effect.dto.d.ts +6 -6
- package/dist/package/entity/order/manager/manager.dto.d.ts +8 -8
- package/dist/package/entity/order/order-item/order-item.dto.d.ts +3986 -0
- package/dist/package/entity/order/order.do.d.ts +951 -5
- package/dist/package/entity/order/order.dto.d.ts +63375 -23687
- package/dist/package/entity/order/order.enum.d.ts +5 -1
- package/dist/package/entity/order/payment/payment.dto.d.ts +9631 -138
- package/dist/package/entity/order-platform/foodpanda/foodpanda-menu.dto.d.ts +54 -54
- package/dist/package/entity/order-platform/foodpanda/foodpanda-order.do.d.ts +165 -72
- package/dist/package/entity/order-platform/foodpanda/foodpanda-order.dto.d.ts +88 -241
- package/dist/package/entity/order-platform/grabfood/grabfood-menu.do.d.ts +1 -0
- package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +153 -215
- package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +80 -40
- package/dist/package/entity/order-platform/menu.dto.d.ts +88 -88
- package/dist/package/entity/order-platform/shopeefood/shopeefood-order.do.d.ts +19 -205
- package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +259 -0
- package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +266 -0
- package/dist/package/entity/order-setting/order-setting.do.d.ts +172 -0
- package/dist/package/entity/order-setting/order-setting.dto.d.ts +344 -0
- package/dist/package/entity/payment/payment.dto.d.ts +13 -13
- package/dist/package/entity/queue/queue.do.d.ts +80 -80
- package/dist/package/entity/queue/queue.dto.d.ts +7 -0
- package/dist/package/entity/restaurant/restaurant.dto.d.ts +226 -113
- package/dist/package/entity/websocket/websocket.dto.d.ts +384 -0
- package/package.json +17 -17
- package/src/app.ts +2 -3
- package/src/locales/en-US.json +218 -203
- package/src/locales/zh-CN.json +218 -203
- package/src/modules/order-setting/kiosk/interface.ts +25 -0
- package/src/stores/order-setting/mapper.ts +73 -51
- package/src/views/kiosk/KioskSummary.vue +40 -5
- package/src/views/kiosk/KioskView.vue +153 -101
- package/src/views/kiosk/settings/KioskDineInSection.vue +48 -33
- package/src/views/kiosk/settings/KioskDisplayStandSection.vue +114 -67
- package/src/views/kiosk/settings/KioskMenuItemSection.vue +27 -0
- package/src/views/kiosk/settings/KioskPaymentTypeSection.vue +339 -0
- package/src/views/kiosk/settings/KioskPickAtCounterSection.vue +15 -14
- package/src/views/kiosk/settings/KioskSettingView.vue +169 -108
- package/src/views/kiosk/settings/KioskTakeawaySection.vue +16 -22
- package/src/views/order-settings/OrderSettingsView.vue +1 -1
- package/src/views/order-settings/delivery/DeliverySetting.vue +9 -10
- package/src/views/order-settings/pickup/CustomPayment.vue +1 -1
- package/dist/App-Dd-xqK-8.js +0 -60
- package/dist/KioskSettingView-6Q0qwSTl.js +0 -345
- package/dist/KioskView-5I0PelUy.js +0 -289
- package/dist/OrderSettingsView-CXZq8QAV.js +0 -51594
- package/dist/dayjs.min-DMfenXNY.js +0 -121871
- package/dist/index-B9mJLWE5.js +0 -70
- package/dist/map-UJBUHidz.js +0 -57
- /package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/DineInSetting.vue.d.ts +0 -0
- /package/src/views/order-settings/{dinein → dine-in}/DineInSetting.vue +0 -0
- /package/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialog.vue +0 -0
- /package/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialogContent.vue +0 -0
- /package/src/views/order-settings/{dinein → dine-in}/PaymentType.vue +0 -0
|
@@ -1,142 +1,203 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
|
19
|
-
|
|
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
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import
|
|
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
|
-
|
|
35
|
-
|
|
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
|
-
|
|
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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
-
|
|
140
|
+
}
|
|
97
141
|
}
|
|
98
|
-
return
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
157
|
+
prefix: f.dineIn.displayStand.prefix ?? ''
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
})
|
|
116
162
|
|
|
117
|
-
const { startAsyncCall
|
|
163
|
+
const { startAsyncCall } = useLoading()
|
|
118
164
|
|
|
119
165
|
async function updateDineInSetting(form: KioskDineInSettingForm) {
|
|
120
|
-
|
|
166
|
+
kioskOrderSettingForm.value.dineIn = form
|
|
121
167
|
}
|
|
122
168
|
|
|
123
169
|
async function updateTakeawaySetting(form: KioskTakeawaySettingForm) {
|
|
124
|
-
|
|
170
|
+
kioskOrderSettingForm.value.takeaway = form
|
|
125
171
|
}
|
|
126
172
|
|
|
127
|
-
async function
|
|
128
|
-
|
|
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
|
-
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
17
|
-
isApplyLoading: boolean,
|
|
18
|
-
restaurantId: string,
|
|
19
|
+
v: KioskTakeawaySettingForm
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
interface Emits {
|
|
22
|
-
|
|
23
|
+
(e: 'updateTakeaway', setting: KioskTakeawaySettingForm): void
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
|
|
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
|
-
|
|
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 './
|
|
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:
|
|
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:
|
|
234
|
-
let localDocUpdate:
|
|
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 '../
|
|
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
|
|
package/dist/App-Dd-xqK-8.js
DELETED
|
@@ -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
|
-
};
|