@feedmepos/mf-order-setting 0.0.67-dev → 0.0.68-prod
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-mu33XbDe.js → KioskDevicesView-CACKpFoO.js} +1 -1
- package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-DnnwwP5B.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-BJIOCfEr.js} +3 -3
- package/dist/{KioskSettingView-CAwO1SeK.js → KioskSettingView-BVjtaNjl.js} +4 -4
- package/dist/{KioskView-pvtKqW3e.js → KioskView-6K48HkE4.js} +4 -4
- package/dist/OrderSettingsView-CStNEAkv.js +32126 -0
- package/dist/{app-MjAVO4M6.js → app-CAyePmCd.js} +229 -215
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-ClRk0CwC.js → dayjs.min-BytKqRJv.js} +1 -1
- package/dist/frontend/mf-order/src/app.d.ts +11 -0
- package/dist/frontend/mf-order/src/main.d.ts +11 -0
- package/dist/frontend/mf-order/src/stores/kiosk/index.d.ts +45 -0
- package/dist/frontend/mf-order/src/stores/menu/menu.d.ts +22 -0
- package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +15 -0
- package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue.d.ts +2 -2
- package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{index-D7iNmBKX.js → index-BcbPl43J.js} +6 -6
- package/dist/{index-BWDduW_i.js → index-DkRVfP6c.js} +2 -2
- package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +36 -18
- package/dist/package/entity/incoming-order/incoming-order.do.d.ts +7 -2
- package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +92 -60
- package/dist/package/entity/kiosk/kiosk.do.d.ts +464 -0
- package/dist/package/entity/kiosk/kiosk.dto.d.ts +565 -0
- package/dist/package/entity/order/order-item/order-item.dto.d.ts +125 -0
- package/dist/package/entity/order/order.do.d.ts +18 -0
- package/dist/package/entity/order/order.dto.d.ts +433 -0
- package/dist/package/entity/order-platform/external/menu/external-master-menu.do.d.ts +5 -0
- package/dist/package/entity/order-platform/external/menu/external-menu.dto.d.ts +3 -3
- package/dist/package/entity/order-platform/external/order/external-order.do.d.ts +8 -8
- package/dist/package/entity/order-platform/external/order/external-order.dto.d.ts +19 -19
- package/dist/package/entity/order-platform/external/order/external-order.enum.d.ts +1 -1
- 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/menu.dto.d.ts +0 -67
- package/dist/package/entity/order-platform/order-platform.enum.d.ts +1 -1
- package/dist/package/entity/order-setting/dine-in/dine-in.do.d.ts +29 -0
- package/dist/package/entity/order-setting/dine-in/dine-in.dto.d.ts +29 -0
- package/dist/package/entity/order-setting/order-setting.do.d.ts +29 -0
- package/dist/package/entity/order-setting/order-setting.dto.d.ts +58 -0
- package/dist/package/entity/printer/printer.do.d.ts +114 -0
- package/dist/package/entity/queue/queue.dto.d.ts +93 -0
- package/dist/package/entity/restaurant/restaurant.dto.d.ts +3 -0
- package/dist/queue-transfer.dto-BB0t5A1B.js +70184 -0
- package/package.json +5 -3
- package/src/locales/en-US.json +8 -0
- package/src/locales/ja-JP.json +1 -0
- package/src/locales/th-TH.json +1 -0
- package/src/locales/zh-CN.json +1 -0
- package/src/views/order-settings/dine-in/DineInSetting.vue +75 -0
- package/src/views/order-settings/general/GeneralSetting.vue +12 -0
- package/dist/OrderSettingsView-DgLwwgzb.js +0 -31258
- package/dist/queue-transfer.dto-CXRjYyMe.js +0 -45343
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feedmepos/mf-order-setting",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.68-prod",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"module": "./dist/app.js",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"format": "prettier --write src/"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@feedmepos/core": "^2.15.
|
|
32
|
-
"@feedmepos/menu": "^1.9.
|
|
31
|
+
"@feedmepos/core": "^2.15.21",
|
|
32
|
+
"@feedmepos/menu": "^1.9.5",
|
|
33
33
|
"@feedmepos/mf-common": "1.20.0-beta.2",
|
|
34
34
|
"@feedmepos/ordering": "^0.0.3",
|
|
35
35
|
"@feedmepos/ui-library": "1.5.2-beta.1",
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"i18next-vue": "^4.0.0",
|
|
45
45
|
"moment": "^2.30.1",
|
|
46
46
|
"pinia": "^2.1.7",
|
|
47
|
+
"semver": "^7.7.1",
|
|
47
48
|
"vue": "^3.3.8",
|
|
48
49
|
"vue-i18n": "^10.0.5",
|
|
49
50
|
"vue-router": "^4.2.5",
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
"@tsconfig/node18": "^18.2.2",
|
|
56
57
|
"@types/google.maps": "^3.55.12",
|
|
57
58
|
"@types/node": "^18.17.17",
|
|
59
|
+
"@types/semver": "^7.5.0",
|
|
58
60
|
"@vitejs/plugin-vue": "^4.3.4",
|
|
59
61
|
"@vue/eslint-config-prettier": "^8.0.0",
|
|
60
62
|
"@vue/eslint-config-typescript": "^12.0.0",
|
package/src/locales/en-US.json
CHANGED
|
@@ -246,6 +246,13 @@
|
|
|
246
246
|
"printChecklistSublabel": "Online order only",
|
|
247
247
|
"overridePax": "Overwrite Bill Pax",
|
|
248
248
|
"overridePaxSublabel": "Incoming order will overwrite the existing bill pax",
|
|
249
|
+
"dineInRemarkEnabled": "Customer order remark",
|
|
250
|
+
"dineInRemarkEnabledSublabel": "Allow customers to attach a remark when ordering dine-in.",
|
|
251
|
+
"dineInRemarkEnabledRequiresPosVersion": "Requires POS version {version} or above.",
|
|
252
|
+
"dineInRemarkMergeAction": "On bill merge, with existing remark",
|
|
253
|
+
"dineInRemarkMergeActionKeep": "Keep previous",
|
|
254
|
+
"dineInRemarkMergeActionOverride": "Override with new",
|
|
255
|
+
"dineInRemarkMergeActionConcat": "Append (newline)",
|
|
249
256
|
"codeSettings": "Queue Code Settings",
|
|
250
257
|
"addCodeSetting": "Add Queue Code Setting",
|
|
251
258
|
"current": "Current",
|
|
@@ -292,6 +299,7 @@
|
|
|
292
299
|
"staticQRcodeSublabel": "Customer can order with static QR code",
|
|
293
300
|
"status": "Status",
|
|
294
301
|
"subItemDisplayModeListView": "Sub Item List View",
|
|
302
|
+
"hideProductCode": "Hide Product Code",
|
|
295
303
|
"submitOrderInstruction": "Submit order instruction",
|
|
296
304
|
"success": "SUCCESS",
|
|
297
305
|
"sunday": "Sunday",
|
package/src/locales/ja-JP.json
CHANGED
package/src/locales/th-TH.json
CHANGED
|
@@ -288,6 +288,7 @@
|
|
|
288
288
|
"staticQRcodeSublabel": "ลูกค้าสามารถสั่งซื้อโดยใช้รหัส QR แบบคงที่",
|
|
289
289
|
"status": "สถานะ",
|
|
290
290
|
"subItemDisplayModeListView": "โหมดรายการผลิตภัณฑ์เพิ่มเติม",
|
|
291
|
+
"hideProductCode": "ซ่อนรหัสสินค้า",
|
|
291
292
|
"submitOrderInstruction": "ส่งข้อความสั่งซื้อ",
|
|
292
293
|
"success": "สำเร็จ",
|
|
293
294
|
"sunday": "วันอาทิตย์",
|
package/src/locales/zh-CN.json
CHANGED
|
@@ -33,6 +33,26 @@
|
|
|
33
33
|
:sublabel="t('order.customerItemRemarkSublabel')"
|
|
34
34
|
label-placement="right"
|
|
35
35
|
/>
|
|
36
|
+
<FmSwitch
|
|
37
|
+
:model-value="dineInRemarkEnabled"
|
|
38
|
+
:disabled="!posSupportsRemarkMerge"
|
|
39
|
+
:label="t('order.dineInRemarkEnabled')"
|
|
40
|
+
:sublabel="
|
|
41
|
+
posSupportsRemarkMerge
|
|
42
|
+
? t('order.dineInRemarkEnabledSublabel')
|
|
43
|
+
: t('order.dineInRemarkEnabledRequiresPosVersion', { version: REMARK_MERGE_MIN_POS_VERSION })
|
|
44
|
+
"
|
|
45
|
+
label-placement="right"
|
|
46
|
+
@update:model-value="updateDineInRemarkEnabled"
|
|
47
|
+
/>
|
|
48
|
+
<div v-if="dineInRemarkEnabled && posSupportsRemarkMerge" class="flex flex-col gap-2 ml-5">
|
|
49
|
+
<span class="fm-typo-en-body-md-600">{{ t('order.dineInRemarkMergeAction') }}</span>
|
|
50
|
+
<FmSelect
|
|
51
|
+
:model-value="dineInRemarkMergeAction"
|
|
52
|
+
@update:model-value="updateDineInRemarkMergeAction"
|
|
53
|
+
:items="dineInRemarkMergeActionOptions"
|
|
54
|
+
/>
|
|
55
|
+
</div>
|
|
36
56
|
<FmSwitch
|
|
37
57
|
v-model="dineInSetting.acceptQueue as boolean"
|
|
38
58
|
value="acceptQueue"
|
|
@@ -125,6 +145,7 @@ import { useLoading } from '@/composables/loading'
|
|
|
125
145
|
import { useCoreStore } from '@feedmepos/mf-common'
|
|
126
146
|
import PaymentType from './PaymentType.vue'
|
|
127
147
|
import { utils } from '@feedmepos/core'
|
|
148
|
+
import semver from 'semver'
|
|
128
149
|
import { useI18n } from '@feedmepos/mf-common'
|
|
129
150
|
import { OrderSettingApi } from '@/api/order-setting'
|
|
130
151
|
import { type OrderSettingsDto } from '@entity'
|
|
@@ -210,6 +231,60 @@ function updateOverridePax(v: boolean) {
|
|
|
210
231
|
}
|
|
211
232
|
}
|
|
212
233
|
|
|
234
|
+
// Threshold mirrors backend `posSupportsDineInRemarkMerge` — must be kept
|
|
235
|
+
// in lockstep. Restaurants on older POS see the toggle disabled with a
|
|
236
|
+
// "requires version X+" hint instead of a hidden control.
|
|
237
|
+
const REMARK_MERGE_GATE_VERSION = '7.12.12'
|
|
238
|
+
const REMARK_MERGE_MIN_POS_VERSION = '7.12.13'
|
|
239
|
+
const posSupportsRemarkMerge = computed<boolean>(() => {
|
|
240
|
+
const version = currentRestaurant.value?.posVersion
|
|
241
|
+
if (!version) return false
|
|
242
|
+
return semver.gt(version, REMARK_MERGE_GATE_VERSION)
|
|
243
|
+
})
|
|
244
|
+
|
|
245
|
+
const dineInRemarkEnabled = computed<boolean>(
|
|
246
|
+
() => orderSetting.value?.dineInSettings?.remark?.enabled ?? false
|
|
247
|
+
)
|
|
248
|
+
|
|
249
|
+
type RemarkMergeAction = 'keep' | 'override' | 'concat'
|
|
250
|
+
|
|
251
|
+
const dineInRemarkMergeAction = computed<RemarkMergeAction>(
|
|
252
|
+
() => (orderSetting.value?.dineInSettings?.remark?.mergeAction as RemarkMergeAction) ?? 'override'
|
|
253
|
+
)
|
|
254
|
+
|
|
255
|
+
const dineInRemarkMergeActionOptions = computed(() => [
|
|
256
|
+
{ label: t('order.dineInRemarkMergeActionKeep'), value: 'keep' },
|
|
257
|
+
{ label: t('order.dineInRemarkMergeActionOverride'), value: 'override' },
|
|
258
|
+
{ label: t('order.dineInRemarkMergeActionConcat'), value: 'concat' }
|
|
259
|
+
])
|
|
260
|
+
|
|
261
|
+
function ensureRemarkSettings() {
|
|
262
|
+
if (!orderSetting.value) return
|
|
263
|
+
if (!orderSetting.value.dineInSettings) {
|
|
264
|
+
orderSetting.value.dineInSettings = { overridePax: true }
|
|
265
|
+
}
|
|
266
|
+
if (!orderSetting.value.dineInSettings.remark) {
|
|
267
|
+
orderSetting.value.dineInSettings.remark = {
|
|
268
|
+
enabled: false,
|
|
269
|
+
mergeAction: 'override'
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
function updateDineInRemarkEnabled(v: boolean) {
|
|
275
|
+
ensureRemarkSettings()
|
|
276
|
+
if (orderSetting.value?.dineInSettings?.remark) {
|
|
277
|
+
orderSetting.value.dineInSettings.remark.enabled = v
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
function updateDineInRemarkMergeAction(v: RemarkMergeAction) {
|
|
282
|
+
ensureRemarkSettings()
|
|
283
|
+
if (orderSetting.value?.dineInSettings?.remark) {
|
|
284
|
+
orderSetting.value.dineInSettings.remark.mergeAction = v
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
213
288
|
function initDineInSetting(): FdoRestaurantDineIn {
|
|
214
289
|
return {
|
|
215
290
|
ignoreStock: false,
|
|
@@ -16,6 +16,12 @@
|
|
|
16
16
|
@update:model-value="updateSubItemDisplayMode"
|
|
17
17
|
label-placement="right"
|
|
18
18
|
></FmSwitch>
|
|
19
|
+
<FmSwitch
|
|
20
|
+
:model-value="!!orderSetting?.hideProductCode"
|
|
21
|
+
:label="t('order.hideProductCode')"
|
|
22
|
+
@update:model-value="updateHideProductCode"
|
|
23
|
+
label-placement="right"
|
|
24
|
+
></FmSwitch>
|
|
19
25
|
|
|
20
26
|
<div class="flex-grow fm-typo-en-title-sm-600 mt-8 mb-2">{{ t('order.orderNumberSettings') }}</div>
|
|
21
27
|
|
|
@@ -187,6 +193,12 @@ function updateSeq(key: SequenceKey, dtoKey: string, dto?: number) {
|
|
|
187
193
|
}
|
|
188
194
|
}
|
|
189
195
|
|
|
196
|
+
function updateHideProductCode(v: boolean) {
|
|
197
|
+
if (orderSetting.value) {
|
|
198
|
+
orderSetting.value.hideProductCode = v
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
190
202
|
function updateSubItemDisplayMode(v: boolean) {
|
|
191
203
|
if (orderSetting.value?.v3Settings) {
|
|
192
204
|
if (v) {
|