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

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 (99) hide show
  1. package/dist/{KioskDevicesView-BnU_Z30B.js → KioskDevicesView-TgyDh8aI.js} +1 -1
  2. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-2dGio8Lw.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-CiYEoMoW.js} +4 -3
  3. package/dist/KioskSettingView-fbOxH9m8.js +649 -0
  4. package/dist/KioskView-C0Vn5S89.js +334 -0
  5. package/dist/{OrderSettingsView-CIUddOED.js → OrderSettingsView-mYvRn7u9.js} +1630 -1703
  6. package/dist/{app-CuyLbKuN.js → app-A306cfER.js} +478 -448
  7. package/dist/app.js +1 -1
  8. package/dist/{dayjs.min-BJrst4DM.js → auth.dto-C5PLip9a.js} +34577 -36584
  9. package/dist/dayjs.min-CLR5r0qf.js +2110 -0
  10. package/dist/frontend/mf-order/src/App.vue.d.ts +1 -1
  11. package/dist/frontend/mf-order/src/Entry.vue.d.ts +1 -1
  12. package/dist/frontend/mf-order/src/app.d.ts +439 -409
  13. package/dist/frontend/mf-order/src/components/GoogleMap.vue.d.ts +3 -1
  14. package/dist/frontend/mf-order/src/modules/order-setting/kiosk/interface.d.ts +18 -0
  15. package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +240 -0
  16. package/dist/frontend/mf-order/src/stores/order-setting/mapper.d.ts +2 -1
  17. package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +8 -8
  18. package/dist/frontend/mf-order/src/views/all-orders/ActionMenuCell.vue.d.ts +1 -1
  19. package/dist/frontend/mf-order/src/views/all-orders/FilterRestaurant.vue.d.ts +8 -1593
  20. package/dist/frontend/mf-order/src/views/all-orders/FilterStatus.vue.d.ts +6 -9
  21. package/dist/frontend/mf-order/src/views/all-orders/FilterStatusMenu.vue.d.ts +5 -11
  22. package/dist/frontend/mf-order/src/views/all-orders/ReflowOrder.vue.d.ts +17 -21
  23. package/dist/frontend/mf-order/src/views/all-orders/UpdateDeliveryOrderDialog.vue.d.ts +1 -1
  24. package/dist/frontend/mf-order/src/views/kiosk/KioskSummary.vue.d.ts +1 -1
  25. package/dist/frontend/mf-order/src/views/kiosk/KioskView.vue.d.ts +1 -1
  26. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskDeviceCard.vue.d.ts +1 -1
  27. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskDeviceDetail.vue.d.ts +1 -1
  28. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskDevicesView.vue.d.ts +1 -1
  29. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskOtpDialog.vue.d.ts +1 -1
  30. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskUnbindConfirm.vue.d.ts +1 -1
  31. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDineInSection.vue.d.ts +2 -4
  32. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDisplayStandSection.vue.d.ts +1 -1
  33. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskMenuItemSection.vue.d.ts +9 -0
  34. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPaymentTypeSection.vue.d.ts +93 -0
  35. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPickAtCounterSection.vue.d.ts +1 -1
  36. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskTakeawaySection.vue.d.ts +2 -4
  37. package/dist/frontend/mf-order/src/views/order-settings/delivery/DeliveryList.vue.d.ts +1 -1
  38. package/dist/frontend/mf-order/src/views/order-settings/delivery/components/TaxInput.vue.d.ts +1 -1
  39. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryOrder.vue.d.ts +136 -1
  40. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/TimePicker.vue.d.ts +6 -120
  41. package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialogContent.vue.d.ts +1 -1
  42. package/dist/frontend/mf-order/src/views/order-settings/pickup/AddressInput.vue.d.ts +8 -12
  43. package/dist/frontend/mf-order/src/views/order-settings/pickup/CustomPayment.vue.d.ts +6 -12
  44. package/dist/frontend/mf-order/src/views/order-settings/pickup/PaymentSidesheet.vue.d.ts +18 -15
  45. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpPointDialogContent.vue.d.ts +142 -15
  46. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickupList.vue.d.ts +1 -1
  47. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  48. package/dist/{index-DPl0R4fg.js → index-BJuGDir8.js} +25 -24
  49. package/dist/index-DSCb3ndM.js +150 -0
  50. package/dist/package/entity/food-court/order.dto.d.ts +223 -223
  51. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +2 -2
  52. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +8 -8
  53. package/dist/package/entity/kiosk/kiosk.do.d.ts +12 -12
  54. package/dist/package/entity/kiosk/kiosk.dto.d.ts +15 -15
  55. package/dist/package/entity/kiosk/scanner/scanner.do.d.ts +9 -9
  56. package/dist/package/entity/kiosk/scanner/scanner.dto.d.ts +9 -9
  57. package/dist/package/entity/kiosk/scanner/scanner.enum.d.ts +1 -1
  58. package/dist/package/entity/order/manager/manager.dto.d.ts +8 -8
  59. package/dist/package/entity/order/order-item/order-item.dto.d.ts +3986 -0
  60. package/dist/package/entity/order/order.do.d.ts +946 -0
  61. package/dist/package/entity/order/order.dto.d.ts +25328 -2337
  62. package/dist/package/entity/order/order.enum.d.ts +5 -1
  63. package/dist/package/entity/order/payment/payment.dto.d.ts +930 -930
  64. package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +10 -10
  65. package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +4 -4
  66. package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +259 -0
  67. package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +266 -0
  68. package/dist/package/entity/order-setting/order-setting.do.d.ts +172 -0
  69. package/dist/package/entity/order-setting/order-setting.dto.d.ts +344 -0
  70. package/dist/package/entity/payment/payment.dto.d.ts +2 -2
  71. package/dist/package/entity/restaurant/restaurant.dto.d.ts +220 -48
  72. package/dist/package/entity/websocket/websocket.dto.d.ts +384 -0
  73. package/package.json +2 -2
  74. package/src/locales/en-US.json +218 -203
  75. package/src/locales/zh-CN.json +218 -203
  76. package/src/modules/order-setting/kiosk/interface.ts +25 -0
  77. package/src/stores/order-setting/mapper.ts +73 -51
  78. package/src/views/kiosk/KioskSummary.vue +36 -2
  79. package/src/views/kiosk/KioskView.vue +115 -96
  80. package/src/views/kiosk/settings/KioskDineInSection.vue +48 -33
  81. package/src/views/kiosk/settings/KioskDisplayStandSection.vue +114 -67
  82. package/src/views/kiosk/settings/KioskMenuItemSection.vue +27 -0
  83. package/src/views/kiosk/settings/KioskPaymentTypeSection.vue +339 -0
  84. package/src/views/kiosk/settings/KioskPickAtCounterSection.vue +15 -14
  85. package/src/views/kiosk/settings/KioskSettingView.vue +169 -108
  86. package/src/views/kiosk/settings/KioskTakeawaySection.vue +16 -22
  87. package/src/views/order-settings/OrderSettingsView.vue +1 -1
  88. package/src/views/order-settings/delivery/DeliverySetting.vue +8 -10
  89. package/src/views/order-settings/pickup/CustomPayment.vue +1 -1
  90. package/dist/KioskSettingView-6Q0qwSTl.js +0 -345
  91. package/dist/KioskView-DqV4IW7U.js +0 -289
  92. package/dist/index-B9mJLWE5.js +0 -70
  93. /package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/DineInSetting.vue.d.ts +0 -0
  94. /package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialog.vue.d.ts +0 -0
  95. /package/dist/frontend/mf-order/src/views/order-settings/{dinein → dine-in}/PaymentType.vue.d.ts +0 -0
  96. /package/src/views/order-settings/{dinein → dine-in}/DineInSetting.vue +0 -0
  97. /package/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialog.vue +0 -0
  98. /package/src/views/order-settings/{dinein → dine-in}/OfflinePaymentTypeDialogContent.vue +0 -0
  99. /package/src/views/order-settings/{dinein → dine-in}/PaymentType.vue +0 -0
@@ -1,142 +1,203 @@
1
1
  <template>
2
- <div v-if="!!kioskOrderSettingForm" class="flex flex-col gap-32">
3
- <div class="flex flex-col gap-2">
4
- <span class="fm-typo-en-title-sm-600">{{ t('order.dineIn') }}</span>
5
- <KioskDineInSection :key="'dine-in-' + restaurantId" :restaurant-id="restaurantId"
6
- :is-apply-loading="isLoading" :get-setting="() => kioskOrderSettingForm!.dineIn"
7
- @update-dine-in="updateDineInSetting" />
8
- </div>
9
- <div class="flex flex-col gap-2">
10
- <span class="fm-typo-en-title-sm-600">{{ t('order.takeawayTitle') }}</span>
11
- <KioskTakeawaySection :key="'takeaway-' + restaurantId" :restaurant-id="restaurantId"
12
- :is-apply-loading="isLoading" :get-setting="() => kioskOrderSettingForm!.takeaway"
13
- @update-takeaway="updateTakeawaySetting" />
14
- </div>
15
- <FmButton class="w-1/4 mb-10" variant="primary" :label="t('order.updateSetting')" :disabled="!validKioskOrderSetting"
16
- @click="submitForm" />
2
+ <div v-if="!!kioskOrderSettingForm" class="flex flex-col gap-32">
3
+ <div class="flex flex-col gap-2">
4
+ <span class="fm-typo-en-title-sm-600">{{ t('order.dineIn') }}</span>
5
+ <KioskDineInSection
6
+ :key="'dine-in-' + restaurantId"
7
+ :v="kioskOrderSettingForm.dineIn"
8
+ @update-dine-in="updateDineInSetting"
9
+ />
17
10
  </div>
18
- <div v-else>
19
- {{ t('order.pleaseSelectRestaurant') }}
11
+ <div class="flex flex-col gap-2">
12
+ <span class="fm-typo-en-title-sm-600">{{ t('order.takeawayTitle') }}</span>
13
+ <KioskTakeawaySection
14
+ :key="'takeaway-' + restaurantId"
15
+ :v="kioskOrderSettingForm.takeaway"
16
+ @update-takeaway="updateTakeawaySetting"
17
+ />
20
18
  </div>
19
+ <div class="flex flex-col gap-2">
20
+ <span class="fm-typo-en-title-sm-600">{{ t('order.menuItem') }}</span>
21
+ <KioskMenuItemSection
22
+ :key="'menu-item-' + restaurantId"
23
+ :v="kioskOrderSettingForm.menuItem.showAllOnly"
24
+ @update:model-value="updateMenuItemSetting"
25
+ />
26
+ </div>
27
+ <div class="flex flex-col gap-2">
28
+ <span class="fm-typo-en-title-sm-600">{{ t('order.acceptedPayment') }}</span>
29
+ <span class="fm-typo-en-title-sm-400 font-bold">{{ t('order.configuration') }}</span>
30
+ <KioskPaymentTypeSection
31
+ :payment-types="kioskOrderSettingForm.paymentSetting.paymentTypes ?? []"
32
+ :allow-e-payment="allowEPayment"
33
+ :offline-payment-types="kioskOrderSettingForm.paymentSetting.offlinePaymentTypes ?? []"
34
+ :ePaymentTypes="kioskOrderSettingForm.paymentSetting.ePaymentTypes ?? {}"
35
+ @update:payment-types="updatePaymentSetting"
36
+ @update:offline-payment-types="
37
+ (v: FdoOfflinePaymentMethod[]) =>
38
+ (kioskOrderSettingForm.paymentSetting.offlinePaymentTypes = v)
39
+ "
40
+ @update:ePaymentTypes="updateEPaymentSetting"
41
+ />
42
+ </div>
43
+ <FmButton
44
+ class="w-1/4 mb-10"
45
+ variant="primary"
46
+ :label="t('order.updateSetting')"
47
+ :disabled="!validKioskOrderSetting"
48
+ @click="submitForm"
49
+ />
50
+ </div>
51
+ <div v-else>
52
+ {{ t('order.pleaseSelectRestaurant') }}
53
+ </div>
21
54
  </template>
22
55
  <script setup lang="ts">
23
- import { computed, ref } from 'vue';
24
- import KioskDineInSection from './KioskDineInSection.vue';
25
- import KioskTakeawaySection from './KioskTakeawaySection.vue';
26
- import type { KioskDineInSettingForm, KioskTakeawaySettingForm, MfKioskOrderSetting, MfKioskOrderSettingForm, } from '@/modules/order-setting/kiosk/interface';
27
- import { useLoading } from '@/composables/loading';
28
- import { useSnackbar } from '@feedmepos/ui-library';
29
- import { useI18n } from '@feedmepos/mf-common';
56
+ import { computed, ref } from 'vue'
57
+ import KioskDineInSection from './KioskDineInSection.vue'
58
+ import KioskTakeawaySection from './KioskTakeawaySection.vue'
59
+ import KioskPaymentTypeSection from './KioskPaymentTypeSection.vue'
60
+ import { FdoOfflinePaymentMethod } from '@feedmepos/core/entity'
61
+ import { FdoEPaymentMethod, F_ORDER_PAYMENT_TYPE } from '@entity'
62
+ import KioskMenuItemSection from './KioskMenuItemSection.vue'
63
+ import type {
64
+ KioskDineInSettingForm,
65
+ KioskTakeawaySettingForm,
66
+ MfKioskOrderSetting,
67
+ MfKioskOrderSettingForm,
68
+ KioskPaymentTypesForm
69
+ } from '@/modules/order-setting/kiosk/interface'
70
+ import { useLoading } from '@/composables/loading'
71
+ import { useSnackbar } from '@feedmepos/ui-library'
72
+ import { useI18n } from '@feedmepos/mf-common'
30
73
 
31
- const { t } = useI18n();
74
+ const { t } = useI18n()
32
75
 
33
76
  interface Props {
34
- restaurantId: string,
35
- form: MfKioskOrderSettingForm,
77
+ restaurantId: string
78
+ form: MfKioskOrderSettingForm
36
79
  }
37
80
 
38
- const props = defineProps<Props>();
81
+ const props = defineProps<Props>()
39
82
 
40
- const SnackBar = useSnackbar();
83
+ const SnackBar = useSnackbar()
41
84
 
42
85
  interface Emits {
43
- (e: 'updateKioskOrderSetting', form: MfKioskOrderSetting): Promise<void>
86
+ (e: 'updateKioskOrderSetting', form: MfKioskOrderSetting): Promise<void>
44
87
  }
45
88
 
46
- const emits = defineEmits<Emits>();
89
+ const emits = defineEmits<Emits>()
47
90
 
48
- const kioskOrderSettingForm = ref<MfKioskOrderSettingForm>(props.form);
91
+ const kioskOrderSettingForm = ref<MfKioskOrderSettingForm>(props.form)
49
92
 
50
93
  const validKioskOrderSetting = computed<MfKioskOrderSetting | null>(() => {
51
- const f = kioskOrderSettingForm.value;
52
- if (!f.dineIn.enabled) {
53
- return {
54
- dineIn: {
55
- enabled: f.dineIn.enabled,
56
- sequenceNumber: f.dineIn.sequenceNumber,
57
- pickUp: f.dineIn.pickUp,
58
- displayStand: {
59
- enabled: false,
60
- padDigit: f.dineIn.displayStand.padDigit ?? 0,
61
- standSlotRange: {
62
- min: f.dineIn.displayStand.standSlotRange.min ?? 0,
63
- max: f.dineIn.displayStand.standSlotRange.max ?? 10,
64
- },
65
- prefix: f.dineIn.displayStand.prefix ?? '',
66
- },
67
- },
68
- takeaway: f.takeaway,
94
+ const f = kioskOrderSettingForm.value
95
+ if (!f.dineIn.enabled) {
96
+ return {
97
+ ...f,
98
+ dineIn: {
99
+ enabled: f.dineIn.enabled,
100
+ sequenceNumber: f.dineIn.sequenceNumber,
101
+ pickUp: f.dineIn.pickUp,
102
+ displayStand: {
103
+ enabled: false,
104
+ padDigit: f.dineIn.displayStand.padDigit ?? 0,
105
+ standSlotRange: {
106
+ min: f.dineIn.displayStand.standSlotRange.min ?? 0,
107
+ max: f.dineIn.displayStand.standSlotRange.max ?? 10
108
+ },
109
+ prefix: f.dineIn.displayStand.prefix ?? ''
69
110
  }
111
+ }
70
112
  }
71
- if (f.dineIn.enabled && f.dineIn.displayStand.enabled) {
72
- const displayStand = f.dineIn.displayStand;
73
-
74
- if (displayStand.padDigit != null && displayStand.padDigit >= 0
75
- && !!displayStand.standSlotRange.min
76
- && !!displayStand.standSlotRange.max
77
- && displayStand.standSlotRange.min <= displayStand.standSlotRange.max) {
78
- return {
79
- dineIn: {
80
- enabled: f.dineIn.enabled,
81
- sequenceNumber: f.dineIn.sequenceNumber,
82
- pickUp: f.dineIn.pickUp,
83
- displayStand: {
84
- enabled: displayStand.enabled,
85
- padDigit: displayStand.padDigit,
86
- standSlotRange: {
87
- min: displayStand.standSlotRange.min,
88
- max: displayStand.standSlotRange.max,
89
- },
90
- prefix: displayStand.prefix ?? '',
91
- },
92
- },
93
- takeaway: f.takeaway,
94
- };
113
+ }
114
+ if (f.dineIn.enabled && f.dineIn.displayStand.enabled) {
115
+ const displayStand = f.dineIn.displayStand
116
+
117
+ if (
118
+ displayStand.padDigit != null &&
119
+ displayStand.padDigit >= 0 &&
120
+ !!displayStand.standSlotRange.min &&
121
+ !!displayStand.standSlotRange.max &&
122
+ displayStand.standSlotRange.min <= displayStand.standSlotRange.max
123
+ ) {
124
+ return {
125
+ ...f,
126
+ dineIn: {
127
+ enabled: f.dineIn.enabled,
128
+ sequenceNumber: f.dineIn.sequenceNumber,
129
+ pickUp: f.dineIn.pickUp,
130
+ displayStand: {
131
+ enabled: displayStand.enabled,
132
+ padDigit: displayStand.padDigit,
133
+ standSlotRange: {
134
+ min: displayStand.standSlotRange.min,
135
+ max: displayStand.standSlotRange.max
136
+ },
137
+ prefix: displayStand.prefix ?? ''
138
+ }
95
139
  }
96
- return null;
140
+ }
97
141
  }
98
- return {
99
- dineIn: {
100
- enabled: f.dineIn.enabled,
101
- sequenceNumber: f.dineIn.sequenceNumber,
102
- pickUp: f.dineIn.pickUp,
103
- displayStand: {
104
- enabled: false,
105
- padDigit: f.dineIn.displayStand.padDigit ?? 0,
106
- standSlotRange: {
107
- min: f.dineIn.displayStand.standSlotRange.min ?? 0,
108
- max: f.dineIn.displayStand.standSlotRange.max ?? 10,
109
- },
110
- prefix: f.dineIn.displayStand.prefix ?? '',
111
- }
142
+ return null
143
+ }
144
+ return {
145
+ ...f,
146
+ dineIn: {
147
+ enabled: f.dineIn.enabled,
148
+ sequenceNumber: f.dineIn.sequenceNumber,
149
+ pickUp: f.dineIn.pickUp,
150
+ displayStand: {
151
+ enabled: false,
152
+ padDigit: f.dineIn.displayStand.padDigit ?? 0,
153
+ standSlotRange: {
154
+ min: f.dineIn.displayStand.standSlotRange.min ?? 0,
155
+ max: f.dineIn.displayStand.standSlotRange.max ?? 10
112
156
  },
113
- takeaway: f.takeaway,
114
- };
115
- });
157
+ prefix: f.dineIn.displayStand.prefix ?? ''
158
+ }
159
+ }
160
+ }
161
+ })
116
162
 
117
- const { startAsyncCall, isLoading } = useLoading();
163
+ const { startAsyncCall } = useLoading()
118
164
 
119
165
  async function updateDineInSetting(form: KioskDineInSettingForm) {
120
- kioskOrderSettingForm.value.dineIn = form;
166
+ kioskOrderSettingForm.value.dineIn = form
121
167
  }
122
168
 
123
169
  async function updateTakeawaySetting(form: KioskTakeawaySettingForm) {
124
- kioskOrderSettingForm.value.takeaway = form;
170
+ kioskOrderSettingForm.value.takeaway = form
125
171
  }
126
172
 
127
- async function submitForm() {
128
- if (validKioskOrderSetting.value) {
129
- const kioskOrderSetting = validKioskOrderSetting.value;
130
- startAsyncCall(async () => {
131
- await emits('updateKioskOrderSetting', kioskOrderSetting);
132
- });
133
- } else {
134
- SnackBar.open({
135
- title: t('order.failedToUpdateSetting'),
136
- type: 'error',
137
- });
138
- }
173
+ async function updateMenuItemSetting(v: boolean) {
174
+ kioskOrderSettingForm.value.menuItem.showAllOnly = v
139
175
  }
140
176
 
177
+ async function updatePaymentSetting(form: KioskPaymentTypesForm) {
178
+ kioskOrderSettingForm.value.paymentSetting.paymentTypes = form;
179
+ }
141
180
 
142
- </script>
181
+ async function updateEPaymentSetting(form: FdoEPaymentMethod) {
182
+ kioskOrderSettingForm.value.paymentSetting.ePaymentTypes = form;
183
+ }
184
+
185
+ const allowEPayment = computed(() => {
186
+ const paymentTypes = kioskOrderSettingForm.value.paymentSetting.paymentTypes || [];
187
+ return paymentTypes.includes(F_ORDER_PAYMENT_TYPE.enum.ePayment);
188
+ })
189
+
190
+ async function submitForm() {
191
+ if (validKioskOrderSetting.value) {
192
+ const kioskOrderSetting = validKioskOrderSetting.value
193
+ startAsyncCall(async () => {
194
+ await emits('updateKioskOrderSetting', kioskOrderSetting)
195
+ })
196
+ } else {
197
+ SnackBar.open({
198
+ title: t('order.failedToUpdateSetting'),
199
+ type: 'error'
200
+ })
201
+ }
202
+ }
203
+ </script>
@@ -1,38 +1,32 @@
1
1
  <template>
2
- <div>
3
- <FmSwitch v-model="form.enabled" :label="t('order.takeaway')" label-placement="right"
4
- @update:model-value="updateTakeawaySetting" class="mb-5" />
5
- </div>
2
+ <div>
3
+ <FmSwitch
4
+ :model-value="v.enabled"
5
+ :label="t('order.takeaway')"
6
+ label-placement="right"
7
+ @update:model-value="updateTakeawaySetting"
8
+ class="mb-5"
9
+ />
10
+ </div>
6
11
  </template>
7
12
  <script setup lang="ts">
8
- import type { KioskTakeawaySettingForm } from '@/modules/order-setting/kiosk/interface';
9
- import { ref, watch } from 'vue';
10
- import { ObjectUtil } from '@/utils/object';
13
+ import type { KioskTakeawaySettingForm } from '@/modules/order-setting/kiosk/interface'
11
14
  import { useI18n } from '@feedmepos/mf-common'
12
15
 
13
16
  const { t } = useI18n()
14
17
 
15
18
  interface Props {
16
- getSetting: () => KioskTakeawaySettingForm,
17
- isApplyLoading: boolean,
18
- restaurantId: string,
19
+ v: KioskTakeawaySettingForm
19
20
  }
20
21
 
21
22
  interface Emits {
22
- (e: 'updateTakeaway', setting: KioskTakeawaySettingForm): void;
23
+ (e: 'updateTakeaway', setting: KioskTakeawaySettingForm): void
23
24
  }
24
25
 
25
- const props = defineProps<Props>();
26
- const emits = defineEmits<Emits>();
27
- const form = ref<KioskTakeawaySettingForm>(ObjectUtil.clone<KioskTakeawaySettingForm>(props.getSetting()));
26
+ defineProps<Props>()
27
+ const emits = defineEmits<Emits>()
28
28
 
29
29
  function updateTakeawaySetting(v: boolean) {
30
- form.value.enabled = v;
31
- emits('updateTakeaway', form.value);
30
+ emits('updateTakeaway', { enabled: v })
32
31
  }
33
-
34
- watch(() => props.restaurantId, () => {
35
- form.value = props.getSetting();
36
- })
37
-
38
- </script>
32
+ </script>
@@ -14,7 +14,7 @@
14
14
  import { type FmTabProps } from '@feedmepos/ui-library'
15
15
  import { ref, computed } from 'vue'
16
16
  import DeliverySetting from './delivery/DeliverySetting.vue'
17
- import DineInSetting from './dinein/DineInSetting.vue'
17
+ import DineInSetting from './dine-in/DineInSetting.vue'
18
18
  import PickUpSetting from './pickup/PickUpSetting.vue'
19
19
  import SmsSetting from './sms/SmsSetting.vue'
20
20
  import ServiceChargeSetting from './servicecharge/ServiceChargeSetting.vue'
@@ -131,7 +131,7 @@
131
131
  :model-value="localDoc"
132
132
  :company="selectedLocalRow.doc"
133
133
  :catalog-options="menuStore.catalogOptions"
134
- @update:model-value="(v: any) => (localDocUpdate = v)"
134
+ @update:model-value="(v: FdoLinkedDelivery | null) => (localDocUpdate = v)"
135
135
  />
136
136
  <template #side-sheet-footer>
137
137
  <div class="flex gap-8 items-center justify-start">
@@ -157,23 +157,19 @@
157
157
  import { computed, h, ref, watch } from 'vue'
158
158
  import RestaurantSelector from '../components/RestaurantSelector.vue'
159
159
  import { type ColumnDef } from '@feedmepos/ui-library'
160
-
161
- import { useCoreStore } from '@feedmepos/mf-common'
162
160
  import type { FdoFoodpandaSettings } from '@entity'
163
161
  import type {
164
162
  FdoLinkedDelivery,
165
- FdoRestaurant,
166
163
  FdoRestaurantFeedmeDelivery,
167
164
  FdoRestaurantInHouseDelivery
168
165
  } from '@feedmepos/core/entity'
169
- import { FdoGrabfoodSettings, FdoShopeeFoodSettings } from '@entity'
170
166
  import {
171
167
  F_DELIVERY_TYPE,
172
168
  F_FEATURE,
173
169
  F_ORDER_PLATFORM,
174
- F_PAYOUT_ACCOUNT_STATUS,
175
170
  F_RESTAURANT_FEATURE
176
171
  } from '@feedmepos/core/entity'
172
+ import { FdoGrabfoodSettings, FdoShopeeFoodSettings } from '@entity'
177
173
  import deliveryData from './delivery.data'
178
174
  import { useDelivery, type DeliveryCompany, type LinkedDeliveryDoc } from './delivery'
179
175
  import { useLoading } from '@/composables/loading'
@@ -194,7 +190,7 @@ import { useSnackbarFunctions } from '@/components/snackbar'
194
190
  import useSearch from '@/composables/search'
195
191
  import DeliveryList from './DeliveryList.vue'
196
192
  import { Pos } from '@feedmepos/core'
197
- import { useI18n } from '@feedmepos/mf-common'
193
+ import { useI18n, useCoreStore } from '@feedmepos/mf-common'
198
194
 
199
195
  const { t } = useI18n()
200
196
  const { searchKey, filter } = useSearch()
@@ -230,14 +226,14 @@ const sideSheet = ref<boolean>(false)
230
226
  const loading = computed(() => {
231
227
  return !currentRestaurant.value || loadingDpi.value
232
228
  })
233
- let localDoc: any
234
- let localDocUpdate: any
229
+ let localDoc: FdoLinkedDelivery | null
230
+ let localDocUpdate: FdoLinkedDelivery | null
235
231
  const selectedIntegratedRow = ref<any>(null)
236
232
  const sideSheetIntegrated = ref<boolean>(false)
237
233
  const selectedLocalRow = ref<any>(null)
238
234
  async function toggleLocalSidesheet(rowData: any) {
239
235
  selectedLocalRow.value = rowData.original ?? rowData
240
- localDoc = getLinkedDeliveryDoc(linkedCompanies.value, selectedLocalRow.value.key)
236
+ localDoc = getLinkedDeliveryDoc(linkedCompanies.value, selectedLocalRow.value.key) ?? null
241
237
  sideSheet.value = true
242
238
  }
243
239
 
@@ -748,6 +744,8 @@ async function updateFeedmeExpressSetting() {
748
744
  sideSheetIntegrated.value = false
749
745
 
750
746
  await startAsyncCallWithErr(async () => {
747
+ if (!currentRestaurant.value?._id)
748
+ throw new Error(`${t('updateFeedMeExpressSetting')} - ${t('order.invalidRestaurant')}`)
751
749
  const restaurant = await restaurantStore.updateFeedmeDelivery(
752
750
  currentRestaurant.value?._id ?? '',
753
751
  feedMeDoc.value
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import { ref, watch, computed } from 'vue'
3
- import OfflinePaymentTypeDialogContent from '../dinein/OfflinePaymentTypeDialogContent.vue'
3
+ import OfflinePaymentTypeDialogContent from '../dine-in/OfflinePaymentTypeDialogContent.vue'
4
4
  import type { FdoOfflinePaymentMethod } from '@feedmepos/core/entity'
5
5
  import { useI18n } from '@feedmepos/mf-common'
6
6