@feedmepos/mf-order-setting 0.0.38 → 0.0.43
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-DoTQRyXe.js → KioskDevicesView-KBpXQJmy.js} +1 -1
- package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-DB0dvpBG.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-taf41a-7.js} +2 -2
- package/dist/KioskSettingView-DG12ZvfT.js +528 -0
- package/dist/{KioskView-4-s6RwC6.js → KioskView-KNiT-upH.js} +125 -119
- package/dist/{OrderSettingsView-BqgGXVhY.js → OrderSettingsView-CoAGawQi.js} +11206 -12410
- package/dist/{app-BbOgWoeI.js → app-Db1lhCv7.js} +14 -11
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-COLd3dVw.js → dayjs.min-D9bsUd57.js} +232 -242
- package/dist/frontend/mf-order/src/app.d.ts +6 -3
- package/dist/frontend/mf-order/src/main.d.ts +6 -3
- package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +3 -3
- package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +1 -1
- package/dist/frontend/mf-order/src/views/order-settings/delivery/components/ManualIntegratedDeliverySetting.vue.d.ts +5 -0
- package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{index-BewBuJGi.js → index-D_Tmm1qL.js} +2 -2
- package/dist/{menu.dto-Bf0Evx6J.js → menu.dto-BY9dVf93.js} +8216 -8201
- package/dist/package/entity/delivery/linked-delivery.do.d.ts +9 -0
- package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +17 -17
- package/dist/package/entity/incoming-order/incoming-order.do.d.ts +21 -21
- package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +18 -18
- package/dist/package/entity/order/dine-in/dine-in.do.d.ts +11 -11
- package/dist/package/entity/order/dine-in/dine-in.dto.d.ts +4 -4
- package/dist/package/entity/order/menu/menu.dto.d.ts +4 -4
- package/dist/package/entity/order/order.do.d.ts +8 -8
- package/dist/package/entity/order/order.dto.d.ts +38 -38
- package/dist/package/entity/order/order.enum.d.ts +1 -1
- package/dist/package/entity/order-setting/order-setting.do.d.ts +5 -5
- package/dist/package/entity/order-setting/order-setting.dto.d.ts +10 -10
- package/dist/package/entity/order-setting/sms/sms.do.d.ts +3 -3
- package/dist/package/entity/order-setting/sms/sms.dto.d.ts +3 -3
- package/dist/package/entity/queue/queue.dto.d.ts +4 -4
- package/package.json +2 -2
- package/src/locales/en-US.json +2 -1
- package/src/locales/th-TH.json +2 -1
- package/src/locales/zh-CN.json +2 -1
- package/src/views/kiosk/KioskView.vue +16 -4
- package/src/views/kiosk/settings/KioskSettingView.vue +193 -122
- package/src/views/order-settings/OrderSettingsView.vue +10 -10
- package/src/views/order-settings/delivery/DeliverySetting.vue +12 -17
- package/src/views/order-settings/delivery/components/ManualIntegratedDeliverySetting.vue +21 -2
- package/src/views/order-settings/delivery/delivery.ts +9 -5
- package/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue +3 -17
- package/dist/KioskSettingView-DRpVR7Ij.js +0 -843
- package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDineInSection.vue.d.ts +0 -10
- package/dist/frontend/mf-order/src/views/kiosk/settings/KioskEnablePaxDialogSection.vue.d.ts +0 -9
- package/dist/frontend/mf-order/src/views/kiosk/settings/KioskMenuItemSection.vue.d.ts +0 -9
- package/dist/frontend/mf-order/src/views/kiosk/settings/KioskTakeawaySection.vue.d.ts +0 -10
- package/src/views/kiosk/settings/KioskDineInSection.vue +0 -68
- package/src/views/kiosk/settings/KioskEnablePaxDialogSection.vue +0 -33
- package/src/views/kiosk/settings/KioskMenuItemSection.vue +0 -27
- package/src/views/kiosk/settings/KioskTakeawaySection.vue +0 -66
|
@@ -174,13 +174,7 @@ import type {
|
|
|
174
174
|
FdoRestaurantFeedmeDelivery,
|
|
175
175
|
FdoRestaurantInHouseDelivery
|
|
176
176
|
} from '@feedmepos/core/entity'
|
|
177
|
-
import {
|
|
178
|
-
F_COUNTRY,
|
|
179
|
-
F_DELIVERY_TYPE,
|
|
180
|
-
F_FEATURE,
|
|
181
|
-
F_ORDER_PLATFORM,
|
|
182
|
-
F_RESTAURANT_FEATURE
|
|
183
|
-
} from '@feedmepos/core/entity'
|
|
177
|
+
import { F_DELIVERY_TYPE, F_ORDER_PLATFORM, F_RESTAURANT_FEATURE } from '@feedmepos/core/entity'
|
|
184
178
|
import { FdoGrabfoodSettings, FdoShopeeFoodSettings } from '@entity'
|
|
185
179
|
import deliveryData from './delivery.data'
|
|
186
180
|
import { useDelivery, type DeliveryCompany, type LinkedDeliveryDoc } from './delivery'
|
|
@@ -203,7 +197,6 @@ import { useSnackbarFunctions } from '@/components/snackbar'
|
|
|
203
197
|
import useSearch from '@/composables/search'
|
|
204
198
|
import DeliveryList from './DeliveryList.vue'
|
|
205
199
|
import DeliverooSetting from './integrated-delivery/DeliverooSetting.vue'
|
|
206
|
-
import { Pos } from '@feedmepos/core'
|
|
207
200
|
import { useI18n, useCoreStore } from '@feedmepos/mf-common'
|
|
208
201
|
|
|
209
202
|
const { t } = useI18n()
|
|
@@ -530,7 +523,7 @@ const localDeliveryCompanies = computed<DeliveryRow[]>(() => {
|
|
|
530
523
|
key,
|
|
531
524
|
name,
|
|
532
525
|
paymentType: getPaymentType(payment),
|
|
533
|
-
status:
|
|
526
|
+
status: doc ? [`${t('order.active')}`] : [`${t('order.inactive')}`],
|
|
534
527
|
doc: company,
|
|
535
528
|
catalog: getCatalog(doc?.catalogId || null)
|
|
536
529
|
}
|
|
@@ -788,11 +781,11 @@ async function updateManualDelivery({
|
|
|
788
781
|
company: DeliveryCompany
|
|
789
782
|
data: FdoLinkedDelivery | null
|
|
790
783
|
}) {
|
|
791
|
-
if (
|
|
784
|
+
if (data) {
|
|
792
785
|
const resp = await createOrUpdateManualDeliveryDoc({ doc, company, data })
|
|
793
786
|
|
|
794
787
|
if (resp) updateCached(resp)
|
|
795
|
-
} else if (
|
|
788
|
+
} else if (doc) {
|
|
796
789
|
await remoteOrderApi.deleteDeliveryCompany(doc)
|
|
797
790
|
deleteCached(doc)
|
|
798
791
|
}
|
|
@@ -807,7 +800,7 @@ async function createOrUpdateManualDeliveryDoc({
|
|
|
807
800
|
company: DeliveryCompany
|
|
808
801
|
data: FdoLinkedDelivery
|
|
809
802
|
}): Promise<LinkedDeliveryDoc | undefined> {
|
|
810
|
-
const { paymentTypeKey, catalogId, rounding, useCustomOrderNumber } = data
|
|
803
|
+
const { paymentTypeKey, catalogId, rounding, useCustomOrderNumber, requiredRemark } = data
|
|
811
804
|
let newDoc: LinkedDeliveryDoc
|
|
812
805
|
|
|
813
806
|
if (doc) {
|
|
@@ -816,7 +809,8 @@ async function createOrUpdateManualDeliveryDoc({
|
|
|
816
809
|
paymentTypeKey,
|
|
817
810
|
catalogId,
|
|
818
811
|
rounding,
|
|
819
|
-
useCustomOrderNumber
|
|
812
|
+
useCustomOrderNumber,
|
|
813
|
+
requiredRemark
|
|
820
814
|
})
|
|
821
815
|
} else {
|
|
822
816
|
newDoc = await remoteOrderApi.createDeliveryCompany({
|
|
@@ -824,7 +818,8 @@ async function createOrUpdateManualDeliveryDoc({
|
|
|
824
818
|
paymentTypeKey,
|
|
825
819
|
catalogId,
|
|
826
820
|
rounding,
|
|
827
|
-
useCustomOrderNumber
|
|
821
|
+
useCustomOrderNumber,
|
|
822
|
+
requiredRemark
|
|
828
823
|
})
|
|
829
824
|
}
|
|
830
825
|
|
|
@@ -875,7 +870,7 @@ async function updateFeedmeExpressSetting() {
|
|
|
875
870
|
currentRestaurant.value?._id ?? '',
|
|
876
871
|
feedMeDoc.value
|
|
877
872
|
)
|
|
878
|
-
if (
|
|
873
|
+
if (currentRestaurant.value?.feedmeDelivery) {
|
|
879
874
|
currentRestaurant.value.feedmeDelivery = restaurant.feedmeDelivery
|
|
880
875
|
}
|
|
881
876
|
})
|
|
@@ -886,7 +881,7 @@ async function updateInHouseSetting() {
|
|
|
886
881
|
sideSheetIntegrated.value = false
|
|
887
882
|
await restaurantStore.updateInhouseDelivery(currentRestaurant.value?._id ?? '', inHouseDoc.value)
|
|
888
883
|
const res = (await readRestaurants())?.find((res) => res._id === currentRestaurant.value?._id)
|
|
889
|
-
if (
|
|
884
|
+
if (res) {
|
|
890
885
|
await changeRestaurant(res)
|
|
891
886
|
}
|
|
892
887
|
showSuccess(t('order.DeliverySettingUpdated'))
|
|
@@ -899,7 +894,7 @@ async function updateExternalDeliverySetting() {
|
|
|
899
894
|
externalDoc.value
|
|
900
895
|
)
|
|
901
896
|
const res = (await readRestaurants())?.find((res) => res._id === currentRestaurant.value?._id)
|
|
902
|
-
if (
|
|
897
|
+
if (res) {
|
|
903
898
|
await changeRestaurant(res)
|
|
904
899
|
}
|
|
905
900
|
showSuccess(t('order.DeliverySettingUpdated'))
|
|
@@ -36,13 +36,15 @@ const data = ref<LocalDeliverySettingData>(
|
|
|
36
36
|
active: !!props.modelValue,
|
|
37
37
|
catalogId: null,
|
|
38
38
|
rounding: props.modelValue.rounding ?? true,
|
|
39
|
+
requiredRemark: props.modelValue.requiredRemark ?? false,
|
|
39
40
|
...props.modelValue
|
|
40
41
|
}
|
|
41
42
|
: {
|
|
42
43
|
...props.company,
|
|
43
44
|
catalogId: null,
|
|
44
45
|
active: false,
|
|
45
|
-
rounding: true
|
|
46
|
+
rounding: true,
|
|
47
|
+
requiredRemark: false
|
|
46
48
|
}
|
|
47
49
|
)
|
|
48
50
|
|
|
@@ -54,6 +56,7 @@ watch(
|
|
|
54
56
|
active: !!newVal,
|
|
55
57
|
catalogId: null,
|
|
56
58
|
rounding: newVal.rounding ?? true,
|
|
59
|
+
requiredRemark: newVal.requiredRemark ?? false,
|
|
57
60
|
...newVal
|
|
58
61
|
}
|
|
59
62
|
} else {
|
|
@@ -61,7 +64,8 @@ watch(
|
|
|
61
64
|
...props.company,
|
|
62
65
|
catalogId: null,
|
|
63
66
|
active: false,
|
|
64
|
-
rounding: true
|
|
67
|
+
rounding: true,
|
|
68
|
+
requiredRemark: false
|
|
65
69
|
}
|
|
66
70
|
}
|
|
67
71
|
}
|
|
@@ -120,6 +124,13 @@ function updateCatalog(catalogId: string | null) {
|
|
|
120
124
|
catalogId
|
|
121
125
|
}))
|
|
122
126
|
}
|
|
127
|
+
|
|
128
|
+
function updateRequiredRemark(requiredRemark: boolean) {
|
|
129
|
+
emitChange((oldV) => ({
|
|
130
|
+
...oldV,
|
|
131
|
+
requiredRemark
|
|
132
|
+
}))
|
|
133
|
+
}
|
|
123
134
|
</script>
|
|
124
135
|
|
|
125
136
|
<template>
|
|
@@ -170,6 +181,14 @@ function updateCatalog(catalogId: string | null) {
|
|
|
170
181
|
@update:model-value="updateCustomOrderNumber"
|
|
171
182
|
/>
|
|
172
183
|
</div>
|
|
184
|
+
<div>
|
|
185
|
+
<FmCheckbox
|
|
186
|
+
:model-value="data.requiredRemark ?? false"
|
|
187
|
+
value=""
|
|
188
|
+
:label="t('order.requiredRemark')"
|
|
189
|
+
@update:model-value="updateRequiredRemark"
|
|
190
|
+
/>
|
|
191
|
+
</div>
|
|
173
192
|
</FmCard>
|
|
174
193
|
</div>
|
|
175
194
|
</template>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F_PAYMENT_NAME, FdoLinkedDelivery, F_COUNTRY} from "@feedmepos/core/entity";
|
|
1
|
+
import { F_PAYMENT_NAME, FdoLinkedDelivery, F_COUNTRY } from "@feedmepos/core/entity";
|
|
2
2
|
|
|
3
3
|
export type LinkedDeliveryDoc = FdoLinkedDelivery & { _rev: string };
|
|
4
4
|
|
|
@@ -42,10 +42,11 @@ export function useDelivery() {
|
|
|
42
42
|
function isIntegratedPlatformSupported(platform: AUTO_INTEGRATION_CLIENT, country?: F_COUNTRY | null): boolean {
|
|
43
43
|
country = country || F_COUNTRY.enum.MY
|
|
44
44
|
const mySupported = [AUTO_INTEGRATION_CLIENT.foodpanda, AUTO_INTEGRATION_CLIENT.grabfood, AUTO_INTEGRATION_CLIENT.shopeefood, AUTO_INTEGRATION_CLIENT.external];
|
|
45
|
-
const sgSupported = [AUTO_INTEGRATION_CLIENT.foodpanda, AUTO_INTEGRATION_CLIENT.grabfood,
|
|
46
|
-
const thSupported = [AUTO_INTEGRATION_CLIENT.grabfood, AUTO_INTEGRATION_CLIENT.external
|
|
45
|
+
const sgSupported = [AUTO_INTEGRATION_CLIENT.foodpanda, AUTO_INTEGRATION_CLIENT.grabfood, AUTO_INTEGRATION_CLIENT.deliveroo];
|
|
46
|
+
const thSupported = [AUTO_INTEGRATION_CLIENT.grabfood, AUTO_INTEGRATION_CLIENT.external];
|
|
47
|
+
const pkSupported = [AUTO_INTEGRATION_CLIENT.foodpanda, AUTO_INTEGRATION_CLIENT.external];
|
|
47
48
|
|
|
48
|
-
let supportedPlatforms:AUTO_INTEGRATION_CLIENT[] = [];
|
|
49
|
+
let supportedPlatforms: AUTO_INTEGRATION_CLIENT[] = [];
|
|
49
50
|
switch (country) {
|
|
50
51
|
case F_COUNTRY.enum.MY:
|
|
51
52
|
supportedPlatforms = mySupported
|
|
@@ -55,7 +56,10 @@ export function useDelivery() {
|
|
|
55
56
|
break;
|
|
56
57
|
case F_COUNTRY.enum.TH:
|
|
57
58
|
supportedPlatforms = thSupported
|
|
58
|
-
break;
|
|
59
|
+
break;
|
|
60
|
+
case F_COUNTRY.enum.PK:
|
|
61
|
+
supportedPlatforms = pkSupported
|
|
62
|
+
break;
|
|
59
63
|
default:
|
|
60
64
|
break;
|
|
61
65
|
}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
:label="t('order.activateIntegration', { integrationType: t('order.auto') })"
|
|
6
6
|
label-placement="right"
|
|
7
7
|
@update:model-value="updateEnable"
|
|
8
|
-
:disabled="!canEdit"
|
|
9
8
|
/>
|
|
10
9
|
<div class="mt-6">
|
|
11
10
|
<div>
|
|
@@ -13,7 +12,6 @@
|
|
|
13
12
|
:model-value="data.config.autoCloseBill"
|
|
14
13
|
:label="t('order.allowedAutoCloseBill')"
|
|
15
14
|
@update:model-value="updateAutoCloseBill"
|
|
16
|
-
:disabled="!canEdit"
|
|
17
15
|
value=""
|
|
18
16
|
/>
|
|
19
17
|
</div>
|
|
@@ -23,7 +21,6 @@
|
|
|
23
21
|
:label="t('order.printReceiptAfterClose')"
|
|
24
22
|
@update:model-value="updatePrintReceiptAfterClose"
|
|
25
23
|
value=""
|
|
26
|
-
:disabled="!canEdit"
|
|
27
24
|
/>
|
|
28
25
|
</div>
|
|
29
26
|
</div>
|
|
@@ -37,7 +34,6 @@
|
|
|
37
34
|
:label="t('order.platform')"
|
|
38
35
|
:items="platformOptions"
|
|
39
36
|
@update:model-value="updatePlatform"
|
|
40
|
-
:disabled="!canEdit"
|
|
41
37
|
/>
|
|
42
38
|
|
|
43
39
|
<FmSelect
|
|
@@ -47,7 +43,6 @@
|
|
|
47
43
|
:label="t('order.deliveryCatalog')"
|
|
48
44
|
:items="menuStore.catalogOptions"
|
|
49
45
|
@update:model-value="updateDeliveryMenuCatalog"
|
|
50
|
-
:disabled="!canEdit"
|
|
51
46
|
/>
|
|
52
47
|
|
|
53
48
|
<FmSelect
|
|
@@ -57,17 +52,11 @@
|
|
|
57
52
|
:label="t('order.pickupCatalog')"
|
|
58
53
|
:items="menuStore.catalogOptions"
|
|
59
54
|
@update:model-value="updatePickupMenuCatalog"
|
|
60
|
-
:disabled="!canEdit"
|
|
61
55
|
/>
|
|
62
56
|
</div>
|
|
63
57
|
|
|
64
58
|
<div class="flex flex-row mt-5">
|
|
65
|
-
<FmButton
|
|
66
|
-
variant="primary"
|
|
67
|
-
:label="t('order.syncMenu')"
|
|
68
|
-
@click="syncMenu()"
|
|
69
|
-
:disabled="!canEdit"
|
|
70
|
-
/>
|
|
59
|
+
<FmButton variant="primary" :label="t('order.syncMenu')" @click="syncMenu()" />
|
|
71
60
|
</div>
|
|
72
61
|
</FmCard>
|
|
73
62
|
</div>
|
|
@@ -75,9 +64,9 @@
|
|
|
75
64
|
</template>
|
|
76
65
|
|
|
77
66
|
<script setup lang="ts">
|
|
78
|
-
import { type PropType,
|
|
67
|
+
import { type PropType, reactive, ref } from 'vue'
|
|
79
68
|
import { F_ORDER_PLATFORM, type FdoExternalSetting } from '@entity'
|
|
80
|
-
import { useI18n
|
|
69
|
+
import { useI18n } from '@feedmepos/mf-common'
|
|
81
70
|
import { clone } from '@/helpers/object'
|
|
82
71
|
import { useMenuStore } from '@/stores/menu/menu'
|
|
83
72
|
import { useLoading } from '@/composables/loading'
|
|
@@ -87,9 +76,6 @@ import { useSnackbarFunctions } from '@/components/snackbar'
|
|
|
87
76
|
const { showSuccess } = useSnackbarFunctions()
|
|
88
77
|
const { t } = useI18n()
|
|
89
78
|
const menuStore = useMenuStore()
|
|
90
|
-
const CoreStore = useCoreStore()
|
|
91
|
-
|
|
92
|
-
const canEdit = computed(() => CoreStore.sessionUser.value?.role.isAdmin ?? false)
|
|
93
79
|
|
|
94
80
|
const props = defineProps({
|
|
95
81
|
initialValue: {
|