@feedmepos/mf-order-setting 0.0.23 → 0.0.25

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 (65) hide show
  1. package/dist/{KioskDevicesView-BdJCcotz.js → KioskDevicesView-gzH9-zL_.js} +1 -1
  2. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-DUPfN7ti.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-CLpClo-r.js} +3 -3
  3. package/dist/KioskSettingView-D1WdpaQN.js +821 -0
  4. package/dist/{KioskView-DPU-oQ1H.js → KioskView-D6-1bn1n.js} +90 -76
  5. package/dist/{OrderSettingsView-BOiflwB_.js → OrderSettingsView-CqZREmjo.js} +6155 -6096
  6. package/dist/{app-CaYWSLe1.js → app-i4N2c7ms.js} +54 -38
  7. package/dist/app.js +1 -1
  8. package/dist/{dayjs.min-8NyoNely.js → dayjs.min-CA-XbgTY.js} +36 -36
  9. package/dist/frontend/mf-order/src/app.d.ts +16 -0
  10. package/dist/frontend/mf-order/src/main.d.ts +797 -0
  11. package/dist/frontend/mf-order/src/modules/order-setting/kiosk/interface.d.ts +4 -0
  12. package/dist/frontend/mf-order/src/stores/iframe/index.d.ts +6 -6
  13. package/dist/frontend/mf-order/src/stores/kiosk/index.d.ts +8 -260
  14. package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +29 -710
  15. package/dist/frontend/mf-order/src/stores/order-setting/mapper.d.ts +3 -2
  16. package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +1456 -2239
  17. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskEnablePaxDialogSection.vue.d.ts +9 -0
  18. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  19. package/dist/{index-B7GFhkAE.js → index-C4HI1NS4.js} +2 -2
  20. package/dist/package/entity/delivery/delivery.dto.d.ts +11 -6
  21. package/dist/package/entity/food-court/food-court.dto.d.ts +1 -1
  22. package/dist/package/entity/food-court/order.dto.d.ts +727 -378
  23. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +6 -6
  24. package/dist/package/entity/incoming-order/incoming-order.do.d.ts +8 -8
  25. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +16 -16
  26. package/dist/package/entity/index.d.ts +1 -0
  27. package/dist/package/entity/kiosk/marketing/marketing.dto.d.ts +1337 -656
  28. package/dist/package/entity/order/order.dto.d.ts +4942 -2401
  29. package/dist/package/entity/order/order.enum.d.ts +1 -1
  30. package/dist/package/entity/order/payment/payment.dto.d.ts +2899 -1419
  31. package/dist/package/entity/order-platform/external/order/external-order.do.d.ts +9 -21
  32. package/dist/package/entity/order-platform/external/order/external-order.dto.d.ts +19 -51
  33. package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +14 -0
  34. package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +30 -0
  35. package/dist/package/entity/order-setting/order-setting.do.d.ts +26 -0
  36. package/dist/package/entity/order-setting/order-setting.dto.d.ts +52 -0
  37. package/dist/package/entity/order-setting/v3/v3.do.d.ts +3 -0
  38. package/dist/package/entity/order-setting/v3/v3.dto.d.ts +3 -0
  39. package/dist/package/entity/order-setting/v3/v3.enum.d.ts +3 -0
  40. package/dist/package/entity/payment/payment.dto.d.ts +3 -3
  41. package/dist/package/entity/restaurant/restaurant.dto.d.ts +37 -11
  42. package/dist/package/entity/websocket/websocket.dto.d.ts +40 -0
  43. package/dist/{queue.do-CIyIpp22.js → queue.do-DcOVgeUq.js} +17143 -16655
  44. package/package.json +3 -3
  45. package/src/Entry.vue +3 -3
  46. package/src/locales/en-US.json +8 -0
  47. package/src/locales/th-TH.json +257 -0
  48. package/src/locales/zh-CN.json +8 -0
  49. package/src/main.ts +9 -1
  50. package/src/modules/order-setting/kiosk/interface.ts +4 -0
  51. package/src/stores/iframe/index.ts +1 -1
  52. package/src/stores/kiosk/index.ts +1 -1
  53. package/src/stores/order-setting/index.ts +1 -1
  54. package/src/stores/order-setting/mapper.ts +27 -11
  55. package/src/stores/restaurant/index.ts +106 -85
  56. package/src/views/kiosk/settings/KioskEnablePaxDialogSection.vue +33 -0
  57. package/src/views/kiosk/settings/KioskSettingView.vue +26 -0
  58. package/src/views/order-settings/delivery/DeliverySetting.vue +12 -12
  59. package/src/views/order-settings/delivery/inhouse/InHouseDelivery.vue +39 -35
  60. package/src/views/order-settings/dine-in/DineInSetting.vue +158 -24
  61. package/src/views/order-settings/general/GeneralSetting.vue +29 -33
  62. package/src/views/order-settings/pickup/PickUpSetting.vue +4 -2
  63. package/src/views/order-settings/pickup/PickUpSettingDialogContent.vue +23 -10
  64. package/src/views/order-settings/servicecharge/ServiceChargeSetting.vue +17 -8
  65. package/dist/KioskSettingView-BChhriPk.js +0 -782
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feedmepos/mf-order-setting",
3
- "version": "0.0.23",
3
+ "version": "0.0.25",
4
4
  "type": "module",
5
5
  "module": "./dist/app.js",
6
6
  "license": "UNLICENSED",
@@ -27,9 +27,9 @@
27
27
  "dependencies": {
28
28
  "@feedmepos/core": "^2.14.0",
29
29
  "@feedmepos/menu": "^1.5.6",
30
- "@feedmepos/mf-common": "^1.11.6",
30
+ "@feedmepos/mf-common": "1.20.0-beta.2",
31
31
  "@feedmepos/ordering": "^0.0.3",
32
- "@feedmepos/ui-library": "^1.2.27",
32
+ "@feedmepos/ui-library": "1.5.2-beta.1",
33
33
  "@types/googlemaps": "^3.43.3",
34
34
  "axios": "^1.7.2",
35
35
  "change-case": "^5.4.4",
package/src/Entry.vue CHANGED
@@ -8,10 +8,10 @@ import App from './App.vue'
8
8
 
9
9
  const route = useRoute()
10
10
  const showHeader = computed(() => route.query.showHeader !== 'false')
11
- const { state } = useIframeStore()
11
+ const IFrameStore = useIframeStore()
12
12
 
13
13
  onMounted(async () => {
14
- if (state.isIframe) {
14
+ if (IFrameStore.state.isIframe) {
15
15
  parent.postMessage({ event: 'ready' }, '*')
16
16
  }
17
17
  })
@@ -19,7 +19,7 @@ onMounted(async () => {
19
19
 
20
20
  <template>
21
21
  <div style="height: 100dvh; width: 100dvw" class="flex flex-col overflow-hidden">
22
- <div v-if="!state.isIframe" style="height: 64px">
22
+ <div v-if="!IFrameStore.state.isIframe" style="height: 64px">
23
23
  <FmNavBar />
24
24
  </div>
25
25
  <App />
@@ -81,9 +81,12 @@
81
81
  "deviceBinding": "Device Binding",
82
82
  "deviceDetails": "Device Details",
83
83
  "dineIn": "Dine In",
84
+ "dineInCanTakeaway": "Allow Takeaway",
84
85
  "dineInType": "Dine In Type",
85
86
  "discountCampaign": "Discount Campaign",
86
87
  "displayStand": "Display Stand",
88
+ "displayPaxDialogTitle": "Display Pax Dialog",
89
+ "displayPaxDialogDescription": "Display pax dialog in kiosk",
87
90
  "edit": "Edit",
88
91
  "editOfflinePayment": "Edit offline payment",
89
92
  "editPickupPoint": "Edit pickup Point",
@@ -137,6 +140,9 @@
137
140
  "kioskSettingFailed": "Failed to update kiosk order setting",
138
141
  "kioskSettingSuccess": "Kiosk order setting updated",
139
142
  "kioskSummary": "Kiosk Summary",
143
+ "lastOrderBeforeClosing": "Last order before closing",
144
+ "lastOrderBeforeClosingDescription": "Orders must be placed before the designated closing time",
145
+ "lastOrderMinutesBeforeCloseRule": "Cannot be less than 0 minutes",
140
146
  "lastSync": "Last synchronize",
141
147
  "loadingMenu": "Loading Menu",
142
148
  "loadingTable": "Loading table",
@@ -147,6 +153,7 @@
147
153
  "menuItem": "Menu Item",
148
154
  "minPurchase": "Min Purchase",
149
155
  "minSpendForFreeDelivery": "Min spend for free Delivery",
156
+ "minutes": "Minutes",
150
157
  "monday": "Monday",
151
158
  "multiplePickupPoint": "Multiple Pickup Point",
152
159
  "name": "Name",
@@ -213,6 +220,7 @@
213
220
  "staticQRcode": "Static QR code",
214
221
  "staticQRcodeSublabel": "Customer can order with static QR code",
215
222
  "status": "Status",
223
+ "subItemDisplayModeListView": "Sub Item List View",
216
224
  "submitOrderInstruction": "Submit order instruction",
217
225
  "success": "SUCCESS",
218
226
  "sunday": "Sunday",
@@ -0,0 +1,257 @@
1
+ {
2
+ "order": {
3
+ "accept": "ยอมรับ",
4
+ "acceptedPayment": "ยอมรับการชำระเงิน",
5
+ "acceptQueue": "ยอมรับคิว",
6
+ "acceptQueueSublabel": "ลูกค้าสามารถใช้คิวในแอป FeedMe",
7
+ "actiavteFeedmeExpress": "เปิดใช้งาน FeedMe Express",
8
+ "activated": "เปิดใช้งานแล้ว",
9
+ "activatedDate": "วันที่เปิดใช้งาน",
10
+ "activateDeliveryCompany": "เปิดใช้งาน {company} การจัดส่ง",
11
+ "activateFeedmeExpressSublabel": "ลูกค้าสามารถเลือก FeedMe express เพื่อจัดส่งอาหารได้",
12
+ "activateIntegration": "เปิดใช้งาน {integrationType} การรวม",
13
+ "activateLocation": "เปิดใช้งานตำแหน่ง",
14
+ "active": "ใช้งานอยู่",
15
+ "add": "เพิ่ม",
16
+ "addCampaign": "เพิ่มแคมเปญ",
17
+ "addCustomPayment": "เพิ่มการชำระเงินแบบกำหนดเอง",
18
+ "addDeliveryZone": "เพิ่มโซนการจัดส่ง",
19
+ "addNewCampaign": "เพิ่มแคมเปญใหม่",
20
+ "addOfflinePayment": "เพิ่มการชำระเงินแบบออฟไลน์",
21
+ "addPickupPoint": "เพิ่มจุดรับสินค้า",
22
+ "address": "ที่อยู่",
23
+ "addServiceCharge": "เพิ่มค่าบริการ",
24
+ "addTimeSlot": "เพิ่มช่องเวลา",
25
+ "afterBillDiscount": "หลังจากหักส่วนลดแล้ว",
26
+ "all": "ทั้งหมด",
27
+ "allowedAutoAcceptOrder": "อนุญาตให้รับออเดอร์อัตโนมัติ",
28
+ "allowedAutoCloseBill": "อนุญาตให้ปิดบิลอัตโนมัติ",
29
+ "allowMultiplePickupSublabel": "อนุญาตให้ลูกค้ารับสินค้าได้หลายที่อยู่แทนที่จะเป็นร้านอาหารเท่านั้น",
30
+ "anonymousOrder": "ออเดอร์แบบไม่เปิดเผยตัวตน",
31
+ "anonymousOrderSublabel": "ลูกค้าสามารถสั่งอาหารได้โดยไม่ต้องเข้าสู่ระบบ",
32
+ "apply": "สมัคร",
33
+ "applyFor": "สมัครด่วน",
34
+ "asap": "ทันที",
35
+ "auto": "อัตโนมัติ",
36
+ "autoIntegration": "รวมอัตโนมัติ",
37
+ "autoIntegrationWarning": "การรวมระบบการจัดส่งอัตโนมัติไม่พร้อมใช้งาน โปรดติดต่อเจ้าหน้าที่ของเราเพื่อขอข้อมูลเพิ่มเติม เหตุผล: {reason}",
38
+ "autoSendKitchen": "ส่งอัตโนมัติครัว",
39
+ "autoSendKitchenSublabel": "ต้องใช้ POS เวอร์ชัน 7 ขึ้นไป",
40
+ "balance": "ยอดคงเหลือ",
41
+ "bankCard": "บัตร",
42
+ "beforeBillDiscount": "ก่อนหักส่วนลดบิล",
43
+ "billRounding": "ปัดเศษบิล",
44
+ "bindDevice": "ผูกอุปกรณ์",
45
+ "bindDeviceMessage": "ป้อนรหัสนี้ในอุปกรณ์คีออสก์ของคุณเพื่อผูก",
46
+ "cancel": "ยกเลิก",
47
+ "cardPaymentDescription": "ชำระเงินโดยแตะหรือเสียบบัตร",
48
+ "cash": "เงินสด",
49
+ "catalog": "แคตตาล็อก",
50
+ "chargeWhen": "ค่าบริการเมื่อ",
51
+ "commission": "ค่าคอมมิชชั่น",
52
+ "company": "บริษัท",
53
+ "configuration": "การกำหนดค่า",
54
+ "confirm": "ยืนยัน",
55
+ "contact": "ติดต่อ",
56
+ "create": "สร้าง",
57
+ "createTestOrder": "สร้างคำสั่งซื้อทดสอบ",
58
+ "credit": "เครดิต",
59
+ "customerItemRemark": "หมายเหตุรายการลูกค้า",
60
+ "customerItemRemarkSublabel": "ลูกค้าสามารถแนบหมายเหตุกับรายการได้",
61
+ "customOfflinePayment": "การชำระเงินออฟไลน์แบบกำหนดเอง",
62
+ "customOfflinePaymentHeader": "การชำระเงินออฟไลน์แบบกำหนดเอง",
63
+ "customServiceCharge": "ค่าบริการแบบกำหนดเอง",
64
+ "customTime": "เวลาแบบกำหนดเอง",
65
+ "day": "วัน",
66
+ "days": "วัน",
67
+ "daysTo": "วันถึง",
68
+ "deactivated": "ปิดใช้งาน",
69
+ "default": "ค่าเริ่มต้น",
70
+ "delete": "ลบ",
71
+ "delivery": "การจัดส่ง",
72
+ "deliveryCompany": "บริษัทจัดส่ง",
73
+ "deliveryDescription": "เราบูรณาการการจัดส่งเหล่านี้กับระบบ POS ของคุณ คุณสามารถจัดส่งอาหารให้กับลูกค้าของคุณได้รวดเร็วและปลอดภัยยิ่งขึ้น",
74
+ "deliveryFee": "ค่าบริการจัดส่ง",
75
+ "deliveryInstruction": "คำแนะนำการจัดส่ง",
76
+ "deliveryOrder": "ใบสั่งจัดส่ง",
77
+ "deliveryTerm": "ระยะเวลาการจัดส่ง",
78
+ "deliveryTime": "เวลาจัดส่ง",
79
+ "deliveryTitle": "การจัดส่ง {company}",
80
+ "deliveryZone": "โซนการจัดส่ง",
81
+ "deviceBinding": "การผูกอุปกรณ์",
82
+ "deviceDetails": "รายละเอียดอุปกรณ์",
83
+ "dineIn": "รับประทานอาหารที่ร้าน",
84
+ "dineInCanTakeaway": "อนุญาตให้นำกลับบ้าน",
85
+ "dineInType": "ประเภทรับประทานอาหารที่ร้าน",
86
+ "discountCampaign": "แคมเปญส่วนลด",
87
+ "displayStand": "แท่นวางสินค้า",
88
+ "edit": "แก้ไข",
89
+ "editOfflinePayment": "แก้ไขการชำระเงินแบบออฟไลน์",
90
+ "editPickupPoint": "แก้ไขจุดรับสินค้า",
91
+ "enableServiceCharge": "เปิดใช้งานค่าบริการ",
92
+ "end": "สิ้นสุด",
93
+ "enterAddress": "ป้อนที่อยู่",
94
+ "enterANumber": "ป้อนหมายเลข",
95
+ "enterName": "ป้อนชื่อ",
96
+ "enterPaymentInstruction": "ป้อนคำสั่งการชำระเงิน",
97
+ "enterPaymentName": "ป้อนชื่อการชำระเงิน",
98
+ "ePayment": "การชำระเงินทางอิเล็กทรอนิกส์",
99
+ "eWallet": "กระเป๋าสตางค์อิเล็กทรอนิกส์",
100
+ "eWalletDescription": "สแกนรหัส QR เพื่อชำระเงินด้วยโทรศัพท์",
101
+ "exclusive": "พิเศษ",
102
+ "failed": "ล้มเหลว",
103
+ "failedToUpdateSetting": "ไม่สามารถอัปเดตการตั้งค่า",
104
+ "feedMeExpress": "FeedMe express",
105
+ "feedmeExpressNotApproved": "บัญชีการจ่ายเงินของคุณอยู่ระหว่างการตรวจสอบ โปรดติดต่อเจ้าหน้าที่ของเราเพื่อรับความช่วยเหลือเพิ่มเติม",
106
+ "feedmeExpressPayoutAccIssue": "จำเป็นต้องมีบัญชีการจ่ายเงินเพื่อเปิดใช้งาน FeedMe Express",
107
+ "feedmeExpressPosVersionIssue": "จำเป็นต้องมีเวอร์ชัน POS ขั้นต่ำ {minVersion} สำหรับ FeedMe Express",
108
+ "feedmeExpressTitle": "อัปเดต FeedMe express",
109
+ "fieldCannotBeEmpty": "ไม่สามารถเว้นช่องได้",
110
+ "fixedTime": "เวลาที่กำหนด",
111
+ "friday": "วันศุกร์",
112
+ "general": "ข้อมูลทั่วไป",
113
+ "generalInfo": "การตั้งค่าทั่วไป",
114
+ "generalSetting": "ค่าสูงสุดควรเกินค่าต่ำสุด",
115
+ "greaterThanMinRule": "ซ่อนรายการเมนูที่ไม่พร้อมใช้งาน",
116
+ "hideNotAvailableMenuItem": "ละเว้นส่วนลด",
117
+ "ignoreDiscount": "ละเว้นสต็อก",
118
+ "ignoreStock": "ลูกค้าสามารถสั่งซื้อได้แม้ว่าสินค้าจะหมดสต็อกแล้ว",
119
+ "ignoreStockSublabel": "ไม่ใช้งาน",
120
+ "inactive": "รวม",
121
+ "inclusive": "จัดส่งถึงบ้าน",
122
+ "inHouseDelivery": "จัดส่งถึงบ้าน",
123
+ "inhouseDeliveryInputLabel": "(ใช้ได้หากตั้งค่า SST ของโปรไฟล์ร้านอาหารไว้)",
124
+ "inhouseDeliveryTaxCalculation": "การคำนวณภาษี",
125
+ "inhouseDeliveryTaxLabel": "ค่าธรรมเนียมการจัดส่งที่เรียกเก็บภาษี",
126
+ "inhouseDeliveryTaxSublabel": "ยอมรับการจัดส่งถึงบ้านด้วย POS",
127
+ "inhouseDeliveryTitle": "จัดการการจัดส่งถึงบ้าน",
128
+ "inhouseSwitchSublabel": "ยอมรับการจัดส่งถึงบ้านด้วย POS",
129
+ "instruction": "คำแนะนำ",
130
+ "integratedDeliveryCompany": "บริษัทจัดส่งแบบบูรณาการ",
131
+ "integrationDescription": "ระบบ POS สามารถเพิ่มคำสั่งซื้อการจัดส่งกับบริษัท {name} ได้",
132
+ "invalidPosVersion": "เวอร์ชัน POS ไม่ถูกต้อง",
133
+ "invalidRestaurant": "ร้านอาหารไม่ถูกต้อง",
134
+ "item": "รายการ",
135
+ "kiosk": "คีออสก์",
136
+ "kioskDisplay": "จอแสดงคีออสก์",
137
+ "kioskDisplayDescription": "คลิก \"ผูกอุปกรณ์\" เพื่อรับรหัสพิเศษสำหรับผูกอุปกรณ์",
138
+ "kioskSettingFailed": "อัปเดตการตั้งค่าคำสั่งซื้อคีออสก์ล้มเหลว",
139
+ "kioskSettingSuccess": "อัปเดตการตั้งค่าคำสั่งซื้อคีออสก์แล้ว",
140
+ "kioskSummary": "สรุปคีออสก์",
141
+ "lastOrderBeforeClosing": "เวลาสั่งอาหารครั้งสุดท้ายก่อนปิดร้าน",
142
+ "lastOrderBeforeClosingDescription": "ต้องทำรายการสั่งซื้อก่อนเวลาปิดที่กำหนด",
143
+ "lastOrderMinutesBeforeCloseRule": "ไม่สามารถน้อยกว่า 0 นาทีได้",
144
+ "lastSync": "ซิงโครไนซ์ล่าสุด",
145
+ "loadingMenu": "กำลังโหลดเมนู",
146
+ "loadingTable": "กำลังโหลดตาราง",
147
+ "localDeliveryCompany": "บริษัทจัดส่งในพื้นที่",
148
+ "localDeliveryDescription": "เปิดใช้งานบริษัทจัดส่งเพื่อสร้างคำสั่งซื้อใหม่ในระบบ POS",
149
+ "manageDelivery": "จัดการการจัดส่ง {company}",
150
+ "manual": "คู่มือ",
151
+ "menuItem": "รายการเมนู",
152
+ "minPurchase": "การซื้อขั้นต่ำ",
153
+ "minSpendForFreeDelivery": "ใช้จ่ายขั้นต่ำสำหรับการจัดส่งฟรี",
154
+ "minutes": "นาที",
155
+ "monday": "วันจันทร์",
156
+ "multiplePickupPoint": "จุดรับสินค้าหลายจุด",
157
+ "name": "ชื่อ",
158
+ "nfc": "NFC",
159
+ "noAvailableItem": "ไม่มีรายการที่ใช้ได้",
160
+ "noAvailableTable": "ไม่มีตารางที่ใช้ได้",
161
+ "nonNegativeRule": "ค่าควรเป็นค่าบวก",
162
+ "noRestaurantSelected": "ไม่มีร้านอาหารที่เลือก",
163
+ "notAllowed": "ไม่อนุญาต",
164
+ "offlinePayment": "การชำระเงินแบบออฟไลน์",
165
+ "offlinePaymentName": "ชื่อการชำระเงินแบบออฟไลน์",
166
+ "online": "ออนไลน์",
167
+ "operatingHour": "เวลาทำการ",
168
+ "orderFrom": "คำสั่งซื้อจาก",
169
+ "orderSetting": "การตั้งค่าคำสั่งซื้อ",
170
+ "orderType": "ประเภทคำสั่งซื้อ",
171
+ "padDigit": "ตัวเลขบนแป้น",
172
+ "payAtCounter": "ชำระเงินที่เคาน์เตอร์",
173
+ "paymentMethod": "วิธีการชำระเงิน",
174
+ "paymentType": "ประเภทการชำระเงิน",
175
+ "payoutAccountIsRequired": "จำเป็นต้องมีบัญชีการชำระเงิน",
176
+ "payoutAccountUnderReview": "บัญชีการชำระเงินอยู่ระหว่างการพิจารณา",
177
+ "payoutPosVersion": "สำหรับ POS {version} ขึ้นไป",
178
+ "pickAtCounter": "รับสินค้าที่เคาน์เตอร์",
179
+ "pickup": "รับสินค้า",
180
+ "pickupPoint": "จุดรับสินค้า",
181
+ "pleaseCompleteProfile": "โปรดกรอกโปรไฟล์ร้านอาหารของคุณเพื่อเปิดใช้งาน FeedMe Express",
182
+ "pleaseSelectRestaurant": "โปรดเลือกร้านอาหาร",
183
+ "prefix": "คำนำหน้า",
184
+ "preOrder": "สั่งซื้อล่วงหน้า",
185
+ "preOrderHint": "สั่งซื้อในวันที่ {today} ลูกค้าสามารถสั่งซื้อได้ระหว่าง {start} และ {end} สูงสุด 7 วัน",
186
+ "pricePerMessage": "ราคาต่อข้อความ",
187
+ "processing": "กำลังประมวลผล",
188
+ "productSelected": "ผลิตภัณฑ์ที่เลือก",
189
+ "promptAnonymousLoginDialog": "กล่องโต้ตอบพร้อมท์เข้าสู่ระบบสำหรับคำสั่งซื้อแบบไม่เปิดเผยตัวตน",
190
+ "qrPay": "ชำระเงินด้วย QR",
191
+ "rate": "อัตรา",
192
+ "remoteId": "รหัสประจำตัวระยะไกล",
193
+ "restaurant": "ร้านอาหาร",
194
+ "restaurantAsPickupPoint": "ร้านอาหารเป็นจุดรับสินค้า",
195
+ "restaurantHaveNotPurchase": "ร้านอาหารยังไม่ได้ซื้อฟีเจอร์ {featureKey}",
196
+ "saturday": "วันเสาร์",
197
+ "save": "บันทึก",
198
+ "saveSetting": "บันทึกการตั้งค่า",
199
+ "scanPay": "สแกนชำระเงิน",
200
+ "search": "ค้นหา",
201
+ "searchRestaurant": "ค้นหาร้านอาหาร",
202
+ "selectItem": "เลือกรายการ",
203
+ "selectRestaurant": "เลือกร้านอาหาร",
204
+ "selectServiceChargeType": "เลือกประเภทค่าบริการ",
205
+ "selectTable": "เลือกโต๊ะ",
206
+ "serve": "เสิร์ฟ",
207
+ "serviceCharge": "ค่าบริการ",
208
+ "serviceChargeRule": "* ค่าบริการจำเป็นต้องใช้ POS เวอร์ชัน 4.0.0 ขึ้นไป",
209
+ "serviceChargeSublabel": "สร้างกฎเกณฑ์ของคุณเองเพื่อหลีกเลี่ยงการเปลี่ยนแปลงตามเงื่อนไขที่แตกต่างกัน เช่น ร้านอาหาร ตัวเลือกการรับประทานอาหาร รายการ ช่อง ฯลฯ",
210
+ "setting": "การตั้งค่า",
211
+ "settings": "การตั้งค่า",
212
+ "showNotAvailable": "ไม่แสดงข้อมูล",
213
+ "sms": "SMS",
214
+ "sstInclusive": "SST รวม",
215
+ "start": "เริ่มต้น",
216
+ "staticQRcode": "รหัส QR แบบคงที่",
217
+ "staticQRcodeSublabel": "ลูกค้าสามารถสั่งซื้อโดยใช้รหัส QR แบบคงที่",
218
+ "status": "สถานะ",
219
+ "subItemDisplayModeListView": "โหมดรายการผลิตภัณฑ์เพิ่มเติม",
220
+ "submitOrderInstruction": "ส่งข้อความสั่งซื้อ",
221
+ "success": "สำเร็จ",
222
+ "sunday": "วันอาทิตย์",
223
+ "syncMenu": "เมนูการซิงค์",
224
+ "table": "โต๊ะ",
225
+ "tableSelected": "โต๊ะที่เลือก",
226
+ "tableService": "บริการโต๊ะ",
227
+ "tableServiceSetting": "การตั้งค่าบริการโต๊ะ",
228
+ "takeaway": "ซื้อกลับบ้าน",
229
+ "takeawayTitle": "ซื้อกลับบ้าน",
230
+ "taxExclusive": "พิเศษ",
231
+ "taxInclusive": "รวม",
232
+ "taxSetting": "การตั้งค่าภาษี",
233
+ "taxSettingTerm": "(การตั้งค่าภาษีมีผลใช้กับ POS หลังจาก {validatePosVersion} เท่านั้น)",
234
+ "term": "เทอม",
235
+ "terminal": "เทอร์มินัล",
236
+ "thursday": "วันพฤหัสบดี",
237
+ "timeSlot": "ช่องเวลา",
238
+ "to": "ถึง",
239
+ "tuesday": "วันอังคาร",
240
+ "unbind": "ยกเลิกการเชื่อมโยง",
241
+ "unbindKioskDevice": "ยกเลิกการเชื่อมโยงอุปกรณ์ Kiosk",
242
+ "unbindKioskDeviceWarning": "คุณแน่ใจว่าต้องการยกเลิกการเชื่อมโยงอุปกรณ์หรือไม่ หากใช่ โปรดป้อน {machineId} ในช่องข้อความ",
243
+ "unbindSuccess": "ยกเลิกการเชื่อมโยงจอแสดงผล Kiosk สำเร็จแล้ว",
244
+ "unbindWarning": "โปรดป้อน ID เครื่องเพื่อยืนยันการยกเลิกการเชื่อมโยง",
245
+ "unknown": "ไม่ทราบ",
246
+ "update": "อัปเดต",
247
+ "updatedAt": "อัปเดตเมื่อ",
248
+ "updateDeliveryCompany": "อัปเดตบริษัทจัดส่ง",
249
+ "updateFeedMeExpressSetting": "อัปเดตการตั้งค่า FeedMe Express",
250
+ "updateNow": "อัปเดตทันที",
251
+ "updatePayoutAccount": "อัปเดตบัญชีการจ่ายเงิน",
252
+ "updatePickupSetting": "อัปเดตการตั้งค่าการรับสินค้า",
253
+ "updateSetting": "อัปเดตการตั้งค่า",
254
+ "vendorBearPercentage": "เปอร์เซ็นต์ที่ผู้ขายรับผิดชอบ",
255
+ "wednesday": "วันพุธ"
256
+ }
257
+ }
@@ -82,9 +82,12 @@
82
82
  "deviceBinding": "设备绑定",
83
83
  "deviceDetails": "设备详情",
84
84
  "dineIn": "堂食",
85
+ "dineInCanTakeaway": "允许外带",
85
86
  "dineInType": "堂食类型",
86
87
  "discountCampaign": "促销活动",
87
88
  "displayStand": "桌牌",
89
+ "displayPaxDialogTitle": "显示人数弹窗",
90
+ "displayPaxDialogDescription": "在自助点餐设备显示人数弹窗",
88
91
  "edit": "编辑",
89
92
  "editOfflinePayment": "编辑线下支付方式",
90
93
  "editPickupPoint": "编辑取货地点",
@@ -138,6 +141,9 @@
138
141
  "kioskSettingFailed": "自助点餐设备订单设置更新失败",
139
142
  "kioskSettingSuccess": "自助点餐设备订单设置更新成功",
140
143
  "kioskSummary": "自助点餐设备概览",
144
+ "lastOrderBeforeClosing": "关闭前最后点餐时间",
145
+ "lastOrderBeforeClosingDescription": "订单必须在指定的关闭时间前提交",
146
+ "lastOrderMinutesBeforeCloseRule": "不能少过0分钟",
141
147
  "lastSync": "上次同步",
142
148
  "loadingMenu": "加载菜单",
143
149
  "loadingTable": "加载餐桌",
@@ -148,6 +154,7 @@
148
154
  "menuItem": "菜单项目",
149
155
  "minPurchase": "最低购买金额",
150
156
  "minSpendForFreeDelivery": "免费配送的最低消费金额",
157
+ "minutes": "分钟",
151
158
  "monday": "星期一",
152
159
  "multiplePickupPoint": "多个取货地点",
153
160
  "name": "名称",
@@ -213,6 +220,7 @@
213
220
  "staticQRcode": "静态二维码",
214
221
  "staticQRcodeSublabel": "客户可以通过静态二维码下单",
215
222
  "status": "状态",
223
+ "subItemDisplayModeListView": "附加产品列表模式",
216
224
  "submitOrderInstruction": "提交订单文本",
217
225
  "success": "成功",
218
226
  "sunday": "星期日",
package/src/main.ts CHANGED
@@ -11,7 +11,15 @@ import { getAuth, signInWithCustomToken } from 'firebase/auth'
11
11
  import { initializeApp } from 'firebase/app'
12
12
  import { useIframeStore } from './stores/iframe'
13
13
  import { createFeedMeI18n, type I18n, detectLocale } from "@feedmepos/mf-common"
14
- import { i18nMessages } from './app'
14
+ import enUS from "./locales/en-US.json"
15
+ import zhCN from "./locales/zh-CN.json"
16
+ import thTH from "./locales/th-TH.json"
17
+
18
+ export const i18nMessages = {
19
+ "en-US": enUS,
20
+ "zh-CN": zhCN,
21
+ "th-TH": thTH,
22
+ }
15
23
 
16
24
  function initI18n(): I18n {
17
25
  const i18n = createFeedMeI18n({
@@ -16,6 +16,7 @@ export interface MfDisplayStandSetting {
16
16
  },
17
17
  prefix: string | null,
18
18
  padDigit: number,
19
+ enablePaxDialog: boolean,
19
20
  submitOrderInstruction: MfKioskSubmitOrderInstruction,
20
21
  }
21
22
 
@@ -27,16 +28,19 @@ export interface DisplayStandSettingForm {
27
28
  },
28
29
  prefix: string | null,
29
30
  padDigit: number | null,
31
+ enablePaxDialog: boolean,
30
32
  submitOrderInstruction: KioskSubmitOrderInstructionForm,
31
33
  }
32
34
 
33
35
  export interface MfKioskPickAtCounterSetting {
34
36
  enabled: boolean,
37
+ enablePaxDialog: boolean,
35
38
  submitOrderInstruction: MfKioskSubmitOrderInstruction,
36
39
  }
37
40
 
38
41
  export interface PickAtCounterSettingForm {
39
42
  enabled: boolean,
43
+ enablePaxDialog: boolean,
40
44
  submitOrderInstruction: KioskSubmitOrderInstructionForm,
41
45
  }
42
46
 
@@ -17,7 +17,7 @@ export const useIframeStore = defineStore('iframe', () => {
17
17
  }
18
18
 
19
19
  return {
20
- state,
20
+ state: state.value,
21
21
  init
22
22
  }
23
23
  });
@@ -32,7 +32,7 @@ export const useKioskStore = defineStore('kiosk', () => {
32
32
  }
33
33
 
34
34
  return {
35
- state,
35
+ state: state.value,
36
36
  requestOtp,
37
37
  getDevices,
38
38
  unbind,
@@ -43,7 +43,7 @@ export const useOrderSettings = defineStore('orderSetting', () => {
43
43
  }
44
44
 
45
45
  return {
46
- state,
46
+ state: state.value,
47
47
  getSetting,
48
48
  updateKioskSetting,
49
49
  setKioskOrderSetting,
@@ -1,5 +1,5 @@
1
1
  import { OrderSettingsDto, OrderKioskDineIn, OrderKioskDineInSequenceDto, FdoOrderKioskDineInSequence, FdoEPaymentMethod } from "@entity";
2
- import type { MfKioskOrderSetting, MfKioskDineInSetting, MfDisplayStandSetting, KioskTakeawaySettingForm, MfKioskOrderSettingForm, MfKioskPaymentSetting, MfKioskSubmitOrderInstruction } from '@/modules/order-setting/kiosk/interface';
2
+ import type { MfKioskOrderSetting, MfKioskDineInSetting, MfDisplayStandSetting, KioskTakeawaySettingForm, MfKioskOrderSettingForm, MfKioskPaymentSetting, MfKioskSubmitOrderInstruction, KioskPickAtCounterSettingForm } from '@/modules/order-setting/kiosk/interface';
3
3
  import type { MfOrderSetting } from "@/modules/order-setting/interface";
4
4
  import type { OrderKioskSettings, OrderKioskPaymentSetting } from "@entity";
5
5
 
@@ -11,13 +11,14 @@ export const defaultDisplayStand: MfDisplayStandSetting = {
11
11
  min: 1,
12
12
  max: 10,
13
13
  },
14
+ enablePaxDialog: false,
14
15
  submitOrderInstruction: {
15
16
  payAtCounter: null,
16
17
  paid: null,
17
18
  },
18
19
  }
19
20
 
20
- export const defaultPickUp: KioskTakeawaySettingForm = {
21
+ export const defaultTakeaway: KioskTakeawaySettingForm = {
21
22
  enabled: false,
22
23
  submitOrderInstruction: {
23
24
  payAtCounter: null,
@@ -25,6 +26,15 @@ export const defaultPickUp: KioskTakeawaySettingForm = {
25
26
  },
26
27
  }
27
28
 
29
+ export const defaultPickUp: KioskPickAtCounterSettingForm = {
30
+ enabled: false,
31
+ submitOrderInstruction: {
32
+ payAtCounter: null,
33
+ paid: null,
34
+ },
35
+ enablePaxDialog: false,
36
+ }
37
+
28
38
  export const defaultKioskOrderSetting: MfKioskOrderSettingForm = {
29
39
  dineIn: {
30
40
  enabled: false,
@@ -32,13 +42,7 @@ export const defaultKioskOrderSetting: MfKioskOrderSettingForm = {
32
42
  sequenceNumber: FdoOrderKioskDineInSequence.parse({}),
33
43
  displayStand: defaultDisplayStand,
34
44
  },
35
- takeaway: {
36
- enabled: false,
37
- submitOrderInstruction: {
38
- payAtCounter: null,
39
- paid: null,
40
- },
41
- },
45
+ takeaway: defaultTakeaway,
42
46
  paymentSetting: {
43
47
  paymentTypes: [],
44
48
  offlinePaymentTypes: [],
@@ -112,12 +116,14 @@ const toKioskDineInSetting = (kioskDineInSeq: OrderKioskDineInSequenceDto, kiosk
112
116
  payAtCounter: kioskDineInSetting.pickUp.submitOrderInstruction?.payAtCounter?.['en'] ?? null,
113
117
  paid: kioskDineInSetting.pickUp.submitOrderInstruction?.paid?.['en'] ?? null,
114
118
  } : defaultSubmitOrderInstruction,
119
+ enablePaxDialog: kioskDineInSetting.pickUp.enablePaxDialog ? kioskDineInSetting.pickUp.enablePaxDialog : false,
115
120
  } : defaultPickUp,
116
121
  displayStand: kioskDineInSetting?.displayStand ? {
117
122
  enabled: kioskDineInSetting.displayStand.enabled,
118
123
  standSlotRange: kioskDineInSetting.displayStand.standSlotRange,
119
124
  prefix: kioskDineInSetting.displayStand.prefix,
120
125
  padDigit: kioskDineInSetting.displayStand.padDigit,
126
+ enablePaxDialog: kioskDineInSetting.displayStand.enablePaxDialog ?? false,
121
127
  submitOrderInstruction: kioskDineInSetting.displayStand.submitOrderInstruction ? {
122
128
  payAtCounter: kioskDineInSetting.displayStand.submitOrderInstruction?.payAtCounter?.['en'] ?? null,
123
129
  paid: kioskDineInSetting.displayStand.submitOrderInstruction?.paid?.['en'] ?? null,
@@ -155,11 +161,21 @@ const toOrderKioskSettingsDto = (kioskSetting: MfKioskOrderSetting): {
155
161
  }
156
162
  })
157
163
 
158
- const createKioskSettings = (dineIn?: OrderKioskDineIn) => ({
164
+ const createKioskSettings = (dineIn?: OrderKioskDineIn): OrderKioskSettings => ({
159
165
  canTakeaway: kioskSetting.takeaway.enabled,
160
166
  dineIn,
161
167
  menuItem: kioskSetting.menuItem,
162
- paymentSetting: createPaymentSettings(kioskSetting.paymentSetting)
168
+ paymentSetting: createPaymentSettings(kioskSetting.paymentSetting),
169
+ takeaway: kioskSetting.takeaway.submitOrderInstruction ? {
170
+ submitOrderInstruction: {
171
+ payAtCounter: kioskSetting.takeaway.submitOrderInstruction.payAtCounter ? {
172
+ en: kioskSetting.takeaway.submitOrderInstruction.payAtCounter,
173
+ } : null,
174
+ paid: kioskSetting.takeaway.submitOrderInstruction.paid ? {
175
+ en: kioskSetting.takeaway.submitOrderInstruction.paid,
176
+ } : null,
177
+ }
178
+ } : undefined
163
179
  })
164
180
 
165
181
  const createPaymentSettings = (paymentSetting: MfKioskPaymentSetting): OrderKioskPaymentSetting | undefined => {