@feedmepos/mf-order-setting 0.0.21-beta.2 → 0.0.22

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 (88) hide show
  1. package/dist/{KioskDevicesView-TgyDh8aI.js → KioskDevicesView-C6YmdLKc.js} +1 -1
  2. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-CiYEoMoW.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-DiLHpWbm.js} +2 -2
  3. package/dist/{KioskSettingView-fbOxH9m8.js → KioskSettingView-D-muNxlb.js} +1 -1
  4. package/dist/KioskView-kcjjk4fF.js +371 -0
  5. package/dist/{OrderSettingsView-mYvRn7u9.js → OrderSettingsView-D_bGK-3J.js} +34007 -32820
  6. package/dist/{app-A306cfER.js → app-C5qwExhL.js} +41 -23
  7. package/dist/app.js +1 -1
  8. package/dist/common/convertor/index.d.ts +2 -0
  9. package/dist/common/sms/index.d.ts +1 -1
  10. package/dist/common/util/index.d.ts +6 -0
  11. package/dist/{dayjs.min-CLR5r0qf.js → dayjs.min-kEC9G7bx.js} +36 -36
  12. package/dist/frontend/mf-order/src/api/remoteOrder/index.d.ts +5 -2
  13. package/dist/frontend/mf-order/src/app.d.ts +18 -0
  14. package/dist/frontend/mf-order/src/helpers/menu.d.ts +1 -1
  15. package/dist/frontend/mf-order/src/stores/app/index.d.ts +14 -4
  16. package/dist/frontend/mf-order/src/stores/menu/menu.d.ts +45 -35
  17. package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +581 -716
  18. package/dist/frontend/mf-order/src/views/all-orders/ReflowOrder.vue.d.ts +140 -174
  19. package/dist/frontend/mf-order/src/views/kiosk/KioskSummary.vue.d.ts +1 -0
  20. package/dist/frontend/mf-order/src/views/order-settings/delivery/DeliverySetting.vue.d.ts +2 -2
  21. package/dist/frontend/mf-order/src/views/order-settings/delivery/delivery.d.ts +2 -1
  22. package/dist/frontend/mf-order/src/views/order-settings/delivery/delivery.data.d.ts +3 -0
  23. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue.d.ts +97 -0
  24. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue.d.ts +3 -3
  25. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  26. package/dist/{index-BJuGDir8.js → index-C_53CwBa.js} +2 -2
  27. package/dist/package/entity/booking/booking.do.d.ts +1516 -1276
  28. package/dist/package/entity/delivery/delivery.dto.d.ts +298 -251
  29. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +539 -0
  30. package/dist/package/entity/incoming-order/incoming-order.do.d.ts +114 -9
  31. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +865 -4
  32. package/dist/package/entity/incoming-order/incoming-order.enum.d.ts +1 -1
  33. package/dist/package/entity/index.d.ts +34 -22
  34. package/dist/package/entity/kiosk/kiosk.do.d.ts +12 -12
  35. package/dist/package/entity/kiosk/kiosk.dto.d.ts +12 -12
  36. package/dist/package/entity/kiosk/marketing/marketing.dto.d.ts +1942 -1642
  37. package/dist/package/entity/member/member.dto.d.ts +33 -0
  38. package/dist/package/entity/order/order-item/order-item.dto.d.ts +15 -0
  39. package/dist/package/entity/order/order.do.d.ts +37 -0
  40. package/dist/package/entity/order/order.dto.d.ts +808 -17435
  41. package/dist/package/entity/order/order.enum.d.ts +2 -0
  42. package/dist/package/entity/order-platform/external/auth/external-auth.do.d.ts +12 -0
  43. package/dist/package/entity/order-platform/external/auth/external-auth.dto.d.ts +27 -0
  44. package/dist/package/entity/order-platform/external/menu/external-menu.do.d.ts +2868 -0
  45. package/dist/package/entity/order-platform/external/menu/external-menu.dto.d.ts +21 -0
  46. package/dist/package/entity/order-platform/external/menu/external-menu.enum.d.ts +3 -0
  47. package/dist/package/entity/order-platform/external/order/external-order.do.d.ts +1373 -0
  48. package/dist/package/entity/order-platform/external/order/external-order.dto.d.ts +2834 -0
  49. package/dist/package/entity/order-platform/external/order/external-order.enum.d.ts +9 -0
  50. package/dist/package/entity/order-platform/external/setting/external-setting.do.d.ts +127 -0
  51. package/dist/package/entity/order-platform/external/setting/external-setting.dto.d.ts +95 -0
  52. package/dist/package/entity/order-platform/foodpanda/foodpanda-order.do.d.ts +175 -82
  53. package/dist/package/entity/order-platform/foodpanda/foodpanda-order.dto.d.ts +372 -291
  54. package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.do.d.ts +4 -4
  55. package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.dto.d.ts +3 -3
  56. package/dist/package/entity/order-platform/grabfood/grabfood-menu.do.d.ts +66 -65
  57. package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +435 -263
  58. package/dist/package/entity/order-platform/grabfood/grabfood-settings.do.d.ts +2 -2
  59. package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +47 -7
  60. package/dist/package/entity/order-platform/menu.dto.d.ts +126 -0
  61. package/dist/package/entity/order-platform/order-platform.dto.d.ts +4 -4
  62. package/dist/package/entity/order-platform/order-platform.enum.d.ts +1 -1
  63. package/dist/package/entity/order-platform/shopeefood/shopeefood-order.do.d.ts +298 -250
  64. package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +0 -41
  65. package/dist/package/entity/printer/printer.do.d.ts +2 -2
  66. package/dist/package/entity/pubsub/ably/ably.do.d.ts +60 -9
  67. package/dist/package/entity/pubsub/ably/ably.enum.d.ts +1 -1
  68. package/dist/package/entity/queue/queue.do.d.ts +40 -0
  69. package/dist/{auth.dto-C5PLip9a.js → queue.do-Vog69wnQ.js} +34049 -33284
  70. package/package.json +4 -3
  71. package/src/api/remoteOrder/index.ts +13 -2
  72. package/src/helpers/menu.ts +2 -2
  73. package/src/locales/en-US.json +11 -1
  74. package/src/locales/zh-CN.json +10 -1
  75. package/src/stores/restaurant/index.ts +4 -1
  76. package/src/views/kiosk/KioskSummary.vue +4 -3
  77. package/src/views/kiosk/KioskView.vue +36 -3
  78. package/src/views/order-settings/delivery/DeliverySetting.vue +83 -6
  79. package/src/views/order-settings/delivery/delivery.data.ts +16 -1
  80. package/src/views/order-settings/delivery/delivery.ts +1 -0
  81. package/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue +114 -0
  82. package/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue +23 -6
  83. package/src/views/order-settings/delivery/integrated-delivery/GrabfoodSetting.vue +21 -16
  84. package/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue +58 -59
  85. package/src/views/order-settings/pickup/PickUpSetting.vue +1 -1
  86. package/src/views/order-settings/servicecharge/ServiceChargeRule.vue +214 -158
  87. package/src/views/order-settings/servicecharge/ServiceChargeSetting.vue +1 -0
  88. package/dist/KioskView-C0Vn5S89.js +0 -334
@@ -198,6 +198,7 @@ async function syncMenu() {
198
198
  lastSynchronize: res?.lastSynchronize || modelValue.value.auto.lastSynchronize
199
199
  }
200
200
  updateData({ auto: temp, manual: data.manual })
201
+ showSuccess(t('order.syncMenuSuccess'))
201
202
  })
202
203
  }
203
204
 
@@ -222,18 +223,34 @@ async function cancelTestOrder() {
222
223
  }
223
224
  </script>
224
225
  <template>
225
- <IntegratedDelivery :model-value="modelValue" :company="company"
226
- :can-use-auto-delivery-integration="canUseAutoDeliveryIntegration" @update:model-value="updateDataPass"
227
- @sync-menu="syncMenu" @flow-test-order="flowTestOrder" @cancel-test-order="cancelTestOrder">
226
+ <IntegratedDelivery
227
+ :model-value="modelValue"
228
+ :company="company"
229
+ :can-use-auto-delivery-integration="canUseAutoDeliveryIntegration"
230
+ @update:model-value="updateDataPass"
231
+ @sync-menu="syncMenu"
232
+ @flow-test-order="flowTestOrder"
233
+ @cancel-test-order="cancelTestOrder"
234
+ >
228
235
  <template #default="{ editable }">
229
- <div class="flex-grow fm-typo-en-title-sm-600 mb-3 mt-10">{{ t('order.discountCampaign')}}</div>
230
- <FmButton :label="t('order.addNewCampaign')" icon="add" variant="plain" @click="addCampaign" class="mb-3" />
236
+ <div class="flex-grow fm-typo-en-title-sm-600 mb-3 mt-10">
237
+ {{ t('order.discountCampaign') }}
238
+ </div>
239
+ <FmButton
240
+ :label="t('order.addNewCampaign')"
241
+ icon="add"
242
+ variant="plain"
243
+ @click="addCampaign"
244
+ class="mb-3"
245
+ />
231
246
 
232
247
  <div v-if="campaigns.length > 0">
233
248
  <div v-for="(campaign, index) in campaigns" :key="index">
234
249
  <FmCard variant="outlined" class="p-5 flex justify-between items-center mb-5">
235
250
  <div>
236
- <span class="font-bold">{{ campaign.name }} ({{ campaign.vendorBearPercentage }}%)</span>
251
+ <span class="font-bold"
252
+ >{{ campaign.name }} ({{ campaign.vendorBearPercentage }}%)</span
253
+ >
237
254
  <br />
238
255
  {{ formatCampaignDate(campaign.date) }}
239
256
  </div>
@@ -9,12 +9,13 @@ import { useLoading } from '@/composables/loading'
9
9
  import { remoteOrderApi } from '@/api/remoteOrder'
10
10
  import IntegratedDelivery from './IntegratedDelivery.vue'
11
11
  import { clone } from '@/helpers/object'
12
- import { useCoreStore } from '@feedmepos/mf-common'
12
+ import { useI18n, useCoreStore } from '@feedmepos/mf-common'
13
13
 
14
14
  export interface GrabfoodDeliveryData {
15
15
  manual: FdoLinkedDelivery | null
16
16
  integrated: FdoGrabfoodSettings
17
17
  }
18
+ const { t } = useI18n()
18
19
 
19
20
  const props = defineProps({
20
21
  initialValue: {
@@ -31,7 +32,7 @@ const props = defineProps({
31
32
  }
32
33
  })
33
34
 
34
- const data = reactive(clone(props.initialValue));
35
+ const data = reactive(clone(props.initialValue))
35
36
  const modelValue = computed<IntegratedDeliverySettingData>(() => {
36
37
  const auto = data.integrated
37
38
  return {
@@ -45,35 +46,32 @@ const modelValue = computed<IntegratedDeliverySettingData>(() => {
45
46
  lastSynchronize: auto.lastSynchronize,
46
47
  status: auto.status,
47
48
  updatedAt: auto.updatedAt,
48
- menuSyncError: auto.menuSyncError,
49
+ menuSyncError: auto.menuSyncError
49
50
  }
50
51
  }
51
52
  })
52
53
 
53
54
  const { currentRestaurant } = useCoreStore()
54
55
 
55
-
56
56
  function updateData({ manual, auto }: IntegratedDeliverySettingData) {
57
57
  data.manual = manual
58
58
  data.integrated = {
59
59
  ...auto,
60
60
  merchantID: auto.integrationId,
61
- commissionRate: auto.commissionRate,
61
+ commissionRate: auto.commissionRate
62
62
  }
63
- return { manual: data.manual, integrated: data.integrated };
63
+ return { manual: data.manual, integrated: data.integrated }
64
64
  }
65
65
 
66
66
  const emits = defineEmits<{
67
- (e: 'update:model-value', payload: { manual: any; auto: any }): void;
68
- }>();
69
-
67
+ (e: 'update:model-value', payload: { manual: any; auto: any }): void
68
+ }>()
70
69
 
71
70
  function updateDataPass({ manual, auto }: IntegratedDeliverySettingData) {
72
- const updatedData = updateData({ manual, auto });
73
- emits('update:model-value', { manual: updatedData.manual, auto: updatedData.integrated });
71
+ const updatedData = updateData({ manual, auto })
72
+ emits('update:model-value', { manual: updatedData.manual, auto: updatedData.integrated })
74
73
  }
75
74
 
76
-
77
75
  const { startAsyncCallWithErr } = useLoading()
78
76
  async function syncMenu() {
79
77
  await startAsyncCallWithErr(async () => {
@@ -85,11 +83,12 @@ async function syncMenu() {
85
83
  lastSynchronize: res?.lastSynchronize || modelValue.value.auto.lastSynchronize
86
84
  }
87
85
  updateData({ auto: temp, manual: data.manual })
86
+ showSuccess(t('order.syncMenuSuccess'))
88
87
  })
89
88
  }
90
89
 
91
90
  import { useSnackbarFunctions } from '@/components/snackbar'
92
- const { showSuccess } = useSnackbarFunctions();
91
+ const { showSuccess } = useSnackbarFunctions()
93
92
 
94
93
  async function flowTestOrder() {
95
94
  await startAsyncCallWithErr(async () => {
@@ -112,7 +111,13 @@ async function cancelTestOrder() {
112
111
  </script>
113
112
 
114
113
  <template>
115
- <IntegratedDelivery :model-value="modelValue" :company="company"
116
- :can-use-auto-delivery-integration="canUseAutoDeliveryIntegration" @update:model-value="updateDataPass"
117
- @sync-menu="syncMenu" @flow-test-order="flowTestOrder" @cancel-test-order="cancelTestOrder" />
114
+ <IntegratedDelivery
115
+ :model-value="modelValue"
116
+ :company="company"
117
+ :can-use-auto-delivery-integration="canUseAutoDeliveryIntegration"
118
+ @update:model-value="updateDataPass"
119
+ @sync-menu="syncMenu"
120
+ @flow-test-order="flowTestOrder"
121
+ @cancel-test-order="cancelTestOrder"
122
+ />
118
123
  </template>
@@ -1,40 +1,41 @@
1
1
  <script setup lang="ts">
2
- import { FdoLinkedDelivery } from "@feedmepos/core/entity";
2
+ import { FdoLinkedDelivery } from '@feedmepos/core/entity'
3
3
  import { FdoShopeeFoodSettings } from '@entity'
4
- import { computed, type PropType, reactive } from "vue";
5
- import type { DeliveryCompany } from "../delivery";
6
- import type { IntegratedDeliverySettingData } from "./IntegratedDelivery.vue";
7
- import { useLoading } from "@/composables/loading";
8
- import { remoteOrderApi } from "@/api/remoteOrder";
9
- import IntegratedDelivery from "./IntegratedDelivery.vue";
10
- import { clone } from "@/helpers/object";
11
- import { useCoreStore } from "@feedmepos/mf-common";
12
-
4
+ import { computed, type PropType, reactive } from 'vue'
5
+ import type { DeliveryCompany } from '../delivery'
6
+ import type { IntegratedDeliverySettingData } from './IntegratedDelivery.vue'
7
+ import { useLoading } from '@/composables/loading'
8
+ import { remoteOrderApi } from '@/api/remoteOrder'
9
+ import IntegratedDelivery from './IntegratedDelivery.vue'
10
+ import { clone } from '@/helpers/object'
11
+ import { useI18n, useCoreStore } from '@feedmepos/mf-common'
13
12
 
14
13
  export interface ShopeefoodDeliveryData {
15
- manual: FdoLinkedDelivery | null;
16
- integrated: FdoShopeeFoodSettings;
14
+ manual: FdoLinkedDelivery | null
15
+ integrated: FdoShopeeFoodSettings
17
16
  }
18
17
 
18
+ const { t } = useI18n()
19
+
19
20
  const props = defineProps({
20
21
  initialValue: {
21
22
  type: Object as PropType<ShopeefoodDeliveryData>,
22
- required: true,
23
+ required: true
23
24
  },
24
25
  company: {
25
26
  type: Object as PropType<DeliveryCompany>,
26
- required: true,
27
+ required: true
27
28
  },
28
29
  canUseAutoDeliveryIntegration: {
29
30
  type: [String, Boolean],
30
- required: true,
31
- },
32
- });
31
+ required: true
32
+ }
33
+ })
33
34
 
34
- const data = reactive(clone(props.initialValue));
35
+ const data = reactive(clone(props.initialValue))
35
36
 
36
37
  const modelValue = computed<IntegratedDeliverySettingData>(() => {
37
- const auto = data.integrated;
38
+ const auto = data.integrated
38
39
  return {
39
40
  manual: data.manual,
40
41
  auto: {
@@ -46,64 +47,58 @@ const modelValue = computed<IntegratedDeliverySettingData>(() => {
46
47
  lastSynchronize: auto.lastSynchronize,
47
48
  status: auto.status,
48
49
  updatedAt: auto.updatedAt,
49
- menuSyncError: auto.menuSyncError,
50
- },
51
- };
52
- });
50
+ menuSyncError: auto.menuSyncError
51
+ }
52
+ }
53
+ })
53
54
 
54
55
  function updateData({ manual, auto }: IntegratedDeliverySettingData) {
55
- data.manual = manual;
56
+ data.manual = manual
56
57
  data.integrated = {
57
58
  ...auto,
58
59
  storeID: auto.integrationId,
59
60
  reportConfig: {
60
61
  discountCampaigns: [],
61
- commissionRate: auto.commissionRate,
62
- },
63
- };
64
- return { manual: data.manual, integrated: data.integrated };
62
+ commissionRate: auto.commissionRate
63
+ }
64
+ }
65
+ return { manual: data.manual, integrated: data.integrated }
65
66
  }
66
67
 
67
68
  const emits = defineEmits<{
68
- (e: 'update:model-value', payload: { manual: any; auto: any }): void;
69
- }>();
70
-
69
+ (e: 'update:model-value', payload: { manual: any; auto: any }): void
70
+ }>()
71
71
 
72
72
  function updateDataPass({ manual, auto }: IntegratedDeliverySettingData) {
73
- const updatedData = updateData({ manual, auto });
74
- emits('update:model-value', { manual: updatedData.manual, auto: updatedData.integrated });
73
+ const updatedData = updateData({ manual, auto })
74
+ emits('update:model-value', { manual: updatedData.manual, auto: updatedData.integrated })
75
75
  }
76
76
 
77
- const { startAsyncCallWithErr } = useLoading();
77
+ const { startAsyncCallWithErr } = useLoading()
78
78
  async function syncMenu() {
79
- await startAsyncCallWithErr(
80
- async () => {
81
- const res = await remoteOrderApi.integratedDelivery.syncShopeefoodMenu(
82
- data.integrated.storeID
83
- );
84
- const temp = {
85
- ...modelValue.value.auto,
86
- lastSynchronize:
87
- res?.lastSynchronize || modelValue.value.auto.lastSynchronize,
88
- };
89
- updateData({ auto: temp, manual: data.manual });
90
- },
91
-
92
- );
79
+ await startAsyncCallWithErr(async () => {
80
+ const res = await remoteOrderApi.integratedDelivery.syncShopeefoodMenu(data.integrated.storeID)
81
+ const temp = {
82
+ ...modelValue.value.auto,
83
+ lastSynchronize: res?.lastSynchronize || modelValue.value.auto.lastSynchronize
84
+ }
85
+ updateData({ auto: temp, manual: data.manual })
86
+ showSuccess(t('order.syncMenuSuccess'))
87
+ })
93
88
  }
94
89
 
95
90
  const { currentRestaurant } = useCoreStore()
96
91
 
97
92
  import { useSnackbarFunctions } from '@/components/snackbar'
98
- const { showSuccess } = useSnackbarFunctions();
93
+ const { showSuccess } = useSnackbarFunctions()
99
94
 
100
95
  async function flowTestOrder() {
101
96
  await startAsyncCallWithErr(async () => {
102
97
  await remoteOrderApi.integratedDelivery.flowTestOrder(
103
98
  currentRestaurant.value?._id ?? '',
104
99
  'shopeefood'
105
- );
106
- });
100
+ )
101
+ })
107
102
  showSuccess('Completed. ')
108
103
  }
109
104
  async function cancelTestOrder() {
@@ -111,16 +106,20 @@ async function cancelTestOrder() {
111
106
  await remoteOrderApi.integratedDelivery.cancelTestOrder(
112
107
  currentRestaurant.value?._id ?? '',
113
108
  'shopeefood'
114
- );
115
- });
109
+ )
110
+ })
116
111
  showSuccess('Completed. ')
117
112
  }
118
-
119
-
120
113
  </script>
121
114
 
122
115
  <template>
123
- <IntegratedDelivery :model-value="modelValue" :company="company"
124
- :can-use-auto-delivery-integration="canUseAutoDeliveryIntegration" @update:model-value="updateDataPass"
125
- @sync-menu="syncMenu" @flow-test-order="flowTestOrder" @cancel-test-order="cancelTestOrder" />
126
- </template>
116
+ <IntegratedDelivery
117
+ :model-value="modelValue"
118
+ :company="company"
119
+ :can-use-auto-delivery-integration="canUseAutoDeliveryIntegration"
120
+ @update:model-value="updateDataPass"
121
+ @sync-menu="syncMenu"
122
+ @flow-test-order="flowTestOrder"
123
+ @cancel-test-order="cancelTestOrder"
124
+ />
125
+ </template>
@@ -100,7 +100,7 @@ async function toggleSideSheet(rowData: any) {
100
100
 
101
101
  const restaurant = currentRestaurants.value.find((r: FmpRestaurant) => r._id === v)
102
102
  if (restaurant) {
103
- await changeRestaurant(restaurant)
103
+ await changeRestaurant(restaurant as any)
104
104
  }
105
105
  sideSheet.value = true
106
106
  }