提交一次全量代码

This commit is contained in:
andy
2026-07-09 11:59:34 +08:00
parent 855396e553
commit 9fa608f602
58 changed files with 8439 additions and 116 deletions

View File

@@ -2,6 +2,8 @@ export default {
app: {
name: 'Hotel OMS',
theme: 'Theme',
language: 'Language',
navigationAria: 'Reservation navigation',
healthUp: 'Backend connected',
healthDown: 'Backend offline',
healthChecking: 'Checking',
@@ -20,6 +22,14 @@ export default {
noData: 'No data',
endpointPending: 'Endpoint pending',
endpointMissing: 'Endpoint field pending',
all: 'All',
unknownStatus: 'Unknown status',
unknownTaskType: 'Unknown task type',
unknownTaskSubtype: 'Unknown task subtype',
unknownReadonlyReason: 'Not processable yet',
unknownActorType: 'Unknown actor',
unknownAuditAction: 'Unknown action',
unknownOperation: 'Unknown operation',
previousPage: 'Previous',
nextPage: 'Next',
pageStatus: 'Page {current} / {total}',
@@ -52,12 +62,13 @@ export default {
title: 'Order list',
subtitle: 'Review Reservation work by order',
keyword: 'Group Code / Confirmation No.',
keywordPlaceholder: 'Group code / confirmation no.',
tableTitle: 'Order data',
totalSuffix: 'orders',
viewDetail: 'View detail',
continueTask: 'Continue task',
noOpenTask: 'No open task',
endpointPending: 'The order list endpoint GET /api/reservation/orders is pending backend implementation. No fixture data is shown.',
endpointPending: 'The order list endpoint is pending backend implementation. No fixture data is shown.',
columns: {
order: 'Order',
status: 'Status',
@@ -88,6 +99,7 @@ export default {
title: 'Task list',
subtitle: 'Review Reservation work by task queue',
keyword: 'Order / email keyword',
keywordPlaceholder: 'Order no. / email keyword',
taskType: 'Task type',
tableTitle: 'Task data',
totalSuffix: 'tasks',
@@ -98,7 +110,6 @@ export default {
queueAll: 'All queue states',
queueIncluded: 'In queue',
queueExcluded: 'Not in queue',
orderStatusFilterPending: 'Order status filter is pending backend support',
viewTask: 'View task',
viewOrder: 'View order',
viewConversation: 'View email conversation',
@@ -189,4 +200,50 @@ export default {
MESSAGE_NOTIFICATION: 'Message notification',
MANUAL_REVIEW: 'Manual review',
},
taskSubtype: {
NEW_BOOKING: 'New booking',
UPDATE_BOOKING: 'Update booking',
CANCEL_BOOKING: 'Cancel booking',
RATE_CHANGE: 'Rate change',
UPDATE_STAY_DATES: 'Update stay dates',
UPDATE_ROOM_TYPE: 'Update room type',
UPDATE_FIX_CHARGE: 'Update fixed charge',
NEW_GROUP_BLOCK: 'New group block',
NEW_FIT_RESERVATION: 'New FIT reservation',
MANUAL_REVIEW: 'Manual review',
},
readonlyReason: {
PROCESSABLE: 'Processable',
PREVIOUS_TASK_NOT_FINISHED: 'Previous task is not finished',
TASK_FINISHED: 'Task finished',
TASK_READ_ONLY: 'Task is read only',
ORDER_CLOSED: 'Order closed',
QUEUE_EXCLUDED: 'Not in queue',
BLOCKED: 'Blocked',
},
actorType: {
USER: 'User',
SYSTEM: 'System',
AI: 'AI',
AGENT: 'Agent',
BACKEND: 'Backend service',
},
auditAction: {
TASK_CREATED: 'Task created',
TASK_LOADED: 'Task loaded',
TASK_CONFIRMED: 'Task confirmed',
TASK_CONFIRM: 'Task confirmed',
DRAFT_SAVED: 'Draft saved',
TASK_UPDATED: 'Task updated',
OPERA_EXECUTED: 'OPERA executed',
OPERA_RETRIED: 'OPERA retried',
MANUAL_REVIEW_CREATED: 'Manual review created',
},
operaOperation: {
CREATE_RESERVATION: 'Create reservation',
UPDATE_RESERVATION: 'Update reservation',
CANCEL_RESERVATION: 'Cancel reservation',
UPDATE_ROOMING_LIST: 'Update rooming list',
ADD_TRACE_NOTE: 'Add trace note',
},
}

View File

@@ -0,0 +1,249 @@
export default {
app: {
name: 'Hotel OMS',
theme: 'ธีม',
language: 'ภาษา',
navigationAria: 'เมนูการจอง',
healthUp: 'เชื่อมต่อหลังบ้านแล้ว',
healthDown: 'หลังบ้านออฟไลน์',
healthChecking: 'กำลังตรวจสอบ',
},
nav: {
orders: 'รายการออเดอร์',
taskQueue: 'คิวงาน',
sourceMessages: 'แหล่งที่มาข้อความ',
systemStatus: 'สถานะระบบ',
orderDetail: 'รายละเอียดออเดอร์',
taskDetail: 'รายละเอียดงาน',
sourceMessageConversation: 'เธรดอีเมล',
},
common: {
loading: 'กำลังโหลด',
noData: 'ไม่มีข้อมูล',
endpointPending: 'รอเชื่อมต่อ API',
endpointMissing: 'ยังขาดข้อมูลจาก API',
all: 'ทั้งหมด',
unknownStatus: 'สถานะไม่ทราบ',
unknownTaskType: 'ประเภทงานไม่ทราบ',
unknownTaskSubtype: 'ประเภทย่อยไม่ทราบ',
unknownReadonlyReason: 'ยังประมวลผลไม่ได้',
unknownActorType: 'ผู้ดำเนินการไม่ทราบ',
unknownAuditAction: 'การดำเนินการไม่ทราบ',
unknownOperation: 'การดำเนินการไม่ทราบ',
previousPage: 'หน้าก่อนหน้า',
nextPage: 'หน้าถัดไป',
pageStatus: 'หน้า {current} / {total}',
pageSize: 'ต่อหน้า',
},
workbench: {
title: 'โต๊ะงานออเดอร์',
subtitle: 'ดู กรอง และจัดการงานออเดอร์การจอง',
filters: 'ตัวกรอง',
dateRange: 'ช่วงวันที่',
businessKey: 'เลขธุรกิจ / เลขชั่วคราว',
orderStatus: 'สถานะออเดอร์',
taskStatus: 'สถานะงาน',
taskCardType: 'ประเภทการ์ดงาน',
reset: 'รีเซ็ต',
tableTitle: 'ออเดอร์ / งาน',
columns: {
businessKey: 'เลขธุรกิจ',
orderStatus: 'สถานะออเดอร์',
currentTask: 'งานปัจจุบัน',
taskStatus: 'สถานะงาน',
updatedAt: 'อัปเดตล่าสุด',
operation: 'การดำเนินการ',
},
view: 'ดู',
totalPrefix: 'รวม',
totalSuffix: 'รายการงาน',
},
orderList: {
title: 'รายการออเดอร์',
subtitle: 'ดูงานการจองตามออเดอร์',
keyword: 'เลขกรุ๊ป / เลขยืนยัน',
keywordPlaceholder: 'เลขกรุ๊ป / เลขยืนยัน',
tableTitle: 'ข้อมูลออเดอร์',
totalSuffix: 'ออเดอร์',
viewDetail: 'ดูรายละเอียด',
continueTask: 'ทำงานต่อ',
noOpenTask: 'ไม่มีงานค้าง',
endpointPending: 'API รายการออเดอร์ยังไม่เชื่อมต่อ จึงไม่แสดงข้อมูลจำลอง',
columns: {
order: 'ออเดอร์',
status: 'สถานะ',
openTasks: 'งานที่ยังไม่ปิด',
createdAt: 'เวลาสร้าง',
},
},
order: {
summary: 'สรุปออเดอร์',
taskQueue: 'คิวงานของออเดอร์นี้',
sourceMessage: 'ข้อความต้นทาง',
businessKeySource: 'แหล่งที่มาของเลขธุรกิจ',
updatedAt: 'อัปเดตล่าสุด',
guestName: 'แขก',
arrivalDate: 'วันเข้าพัก',
roomType: 'ประเภทห้อง',
amount: 'ยอดเงิน',
openTask: 'จัดการงาน',
groupCode: 'เลขกรุ๊ป (Group Code)',
confirmationNumber: 'เลขยืนยัน (Confirmation No.)',
temporaryOrderNo: 'เลขออเดอร์ชั่วคราว',
blockCode: 'เลขบล็อกกรุ๊ป (Block Code)',
createdAt: 'เวลาสร้าง',
conversationMessageCount: 'จำนวนอีเมลในเธรด',
sourceSummaryPending: 'ข้อมูลสรุปอีเมลต้นทางในไทม์ไลน์งานยังรอหลังบ้านเพิ่มเติม โปรดเข้าไปดูจากงานที่เกี่ยวข้อง',
},
taskList: {
title: 'รายการงาน',
subtitle: 'ดูคิวงานการจองตามงาน',
keyword: 'คำค้นออเดอร์ / อีเมล',
keywordPlaceholder: 'เลขออเดอร์ / คำค้นอีเมล',
taskType: 'ประเภทงาน',
tableTitle: 'ข้อมูลงาน',
totalSuffix: 'งาน',
noSourceSubject: 'ไม่มีหัวข้ออีเมลต้นทาง',
canProcess: 'ประมวลผลได้',
cannotProcess: 'ประมวลผลไม่ได้',
queueParticipation: 'อยู่ในคิวหรือไม่',
queueAll: 'สถานะคิวทั้งหมด',
queueIncluded: 'อยู่ในคิว',
queueExcluded: 'ไม่อยู่ในคิว',
viewTask: 'ดูงาน',
viewOrder: 'ดูออเดอร์',
viewConversation: 'ดูเธรดอีเมล',
columns: {
task: 'งาน',
order: 'ออเดอร์',
card: 'การ์ดงาน',
status: 'สถานะ',
source: 'อีเมลต้นทาง',
queue: 'คิว',
},
},
task: {
title: 'การ์ดงาน',
fieldContract: 'สัญญาข้อมูล',
evidence: 'หลักฐาน',
saveDraft: 'บันทึกร่าง',
confirm: 'ยืนยันงาน',
blocked: 'ถูกบล็อก',
readOnly: 'อ่านอย่างเดียว',
operaOperations: 'การจำลอง OPERA',
audits: 'ไทม์ไลน์ตรวจสอบ',
noOperations: 'การจำลอง OPERA จะถูกสร้างหลังยืนยันงาน',
noAudits: 'ยังไม่มีบันทึกตรวจสอบ',
execute: 'ดำเนินการ',
retry: 'ลองใหม่',
simulateFailure: 'จำลองความล้มเหลว',
fieldNotes: 'หมายเหตุข้อมูล',
emptyValue: 'ยังไม่กรอก',
attachments: 'ไฟล์แนบ',
fieldAreaFallback: 'ข้อมูลพื้นฐาน',
savedLocally: 'บันทึกร่างแล้ว',
confirmedLocally: 'ยืนยันงานแล้ว',
validationFailed: 'โปรดแก้ไขข้อมูลก่อน',
validation: {
required: '{field} จำเป็นต้องกรอก',
enum: '{field} ต้องเลือกจากตัวเลือกที่กำหนด',
date: '{field} ต้องใช้รูปแบบวันที่ YYYY-MM-DD',
number: '{field} ต้องเป็นตัวเลข',
},
viewOrder: 'ดูออเดอร์',
viewConversation: 'ดูเธรดอีเมล',
sourceMessageId: 'รหัสข้อความต้นทาง (ID)',
sourceSubject: 'หัวข้อต้นทาง',
sourceSender: 'ผู้ส่ง',
sourceReceivedAt: 'เวลารับ',
sourceSummaryPending: 'ข้อมูลสรุปอีเมลต้นทางยังรอหลังบ้านเพิ่มเติม',
},
conversation: {
title: 'รายละเอียดเธรดอีเมล',
subtitle: 'ดูอีเมลทั้งหมดและการตอบกลับในเธรดต้นทาง',
endpointPending: 'API รายละเอียดเธรดอีเมลยังไม่เชื่อมต่อ จึงไม่แสดงข้อมูลจำลอง',
subject: 'หัวข้อเธรด',
messageCount: 'จำนวนอีเมล',
channel: 'ช่องทาง',
firstReceivedAt: 'รับครั้งแรก',
lastReceivedAt: 'รับล่าสุด',
emptyBody: 'เนื้อหาอีเมลว่าง',
attachments: 'ไฟล์แนบ / รูปภาพในอีเมล',
unnamedAttachment: 'ไฟล์แนบไม่มีชื่อ',
relatedOrders: 'ออเดอร์ที่เกี่ยวข้อง',
relatedTasks: 'งานที่เกี่ยวข้อง',
},
status: {
TEMPORARY: 'ชั่วคราว',
ACTIVE: 'ใช้งานอยู่',
ENDED: 'สิ้นสุดแล้ว',
LOGIC_DELETED: 'ลบแล้ว',
PENDING_CONFIRM: 'รอยืนยัน',
READY: 'รอดำเนินการ',
EXECUTING: 'กำลังดำเนินการ',
FAILED: 'ล้มเหลว',
COMPLETED: 'เสร็จแล้ว',
PENDING: 'รอดำเนินการ',
SUCCEEDED: 'สำเร็จ',
BLOCKED: 'ถูกบล็อก',
SKIPPED: 'ข้าม',
},
cardType: {
NEW_BOOKING: 'จองใหม่',
UPDATE_BOOKING: 'แก้ไขการจอง',
CANCEL_BOOKING: 'ยกเลิกการจอง',
VOUCHER: 'วอเชอร์',
ROOMING_LIST: 'รายชื่อห้องพัก',
AMEND_GROUP_CODE: 'แก้ไขเลขกรุ๊ป',
TRACE_NOTE: 'หมายเหตุติดตาม (Trace)',
TA_RECORD: 'ข้อมูลบริษัททัวร์',
MESSAGE_NOTIFICATION: 'แจ้งเตือนข้อความ',
MANUAL_REVIEW: 'ตรวจสอบด้วยคน',
},
taskSubtype: {
NEW_BOOKING: 'จองใหม่',
UPDATE_BOOKING: 'แก้ไขการจอง',
CANCEL_BOOKING: 'ยกเลิกการจอง',
RATE_CHANGE: 'ปรับราคา',
UPDATE_STAY_DATES: 'แก้ไขวันเข้าพัก',
UPDATE_ROOM_TYPE: 'แก้ไขประเภทห้อง',
UPDATE_FIX_CHARGE: 'แก้ไขค่าบริการคงที่',
NEW_GROUP_BLOCK: 'บล็อกกรุ๊ปใหม่',
NEW_FIT_RESERVATION: 'จองรายบุคคลใหม่',
MANUAL_REVIEW: 'ตรวจสอบด้วยคน',
},
readonlyReason: {
PROCESSABLE: 'ประมวลผลได้',
PREVIOUS_TASK_NOT_FINISHED: 'งานก่อนหน้ายังไม่เสร็จ',
TASK_FINISHED: 'งานเสร็จแล้ว',
TASK_READ_ONLY: 'งานเป็นอ่านอย่างเดียว',
ORDER_CLOSED: 'ออเดอร์ปิดแล้ว',
QUEUE_EXCLUDED: 'ไม่อยู่ในคิว',
BLOCKED: 'ถูกบล็อก',
},
actorType: {
USER: 'ผู้ใช้',
SYSTEM: 'ระบบ',
AI: 'AI',
AGENT: 'ผู้ช่วยภายนอก',
BACKEND: 'บริการหลังบ้าน',
},
auditAction: {
TASK_CREATED: 'สร้างงาน',
TASK_LOADED: 'อ่านงาน',
TASK_CONFIRMED: 'ยืนยันงาน',
TASK_CONFIRM: 'ยืนยันงาน',
DRAFT_SAVED: 'บันทึกร่าง',
TASK_UPDATED: 'อัปเดตงาน',
OPERA_EXECUTED: 'ดำเนินการ OPERA',
OPERA_RETRIED: 'ลอง OPERA ใหม่',
MANUAL_REVIEW_CREATED: 'สร้างงานตรวจสอบด้วยคน',
},
operaOperation: {
CREATE_RESERVATION: 'สร้างการจอง',
UPDATE_RESERVATION: 'อัปเดตการจอง',
CANCEL_RESERVATION: 'ยกเลิกการจอง',
UPDATE_ROOMING_LIST: 'อัปเดตรายชื่อห้องพัก',
ADD_TRACE_NOTE: 'เพิ่มหมายเหตุติดตาม',
},
}

View File

@@ -2,6 +2,8 @@ export default {
app: {
name: 'Hotel OMS',
theme: '主题',
language: '语言',
navigationAria: '预订订单导航',
healthUp: '后端已连接',
healthDown: '后端未连接',
healthChecking: '检查中',
@@ -20,6 +22,14 @@ export default {
noData: '暂无数据',
endpointPending: '接口待接入',
endpointMissing: '接口待补',
all: '全部',
unknownStatus: '未知状态',
unknownTaskType: '未知任务类型',
unknownTaskSubtype: '未知任务细分',
unknownReadonlyReason: '暂不可处理',
unknownActorType: '未知操作者',
unknownAuditAction: '未知操作',
unknownOperation: '未知操作',
previousPage: '上一页',
nextPage: '下一页',
pageStatus: '第 {current} / {total} 页',
@@ -27,7 +37,7 @@ export default {
},
workbench: {
title: '订单工作台',
subtitle: '查看、筛选和处理 Reservation 订单任务',
subtitle: '查看、筛选和处理预订订单任务',
filters: '筛选条件',
dateRange: '日期范围',
businessKey: '业务号 / 临时单号',
@@ -50,14 +60,15 @@ export default {
},
orderList: {
title: '订单列表',
subtitle: '按订单查看 Reservation 处理入口',
keyword: 'Group Code / Confirmation No.',
subtitle: '按订单查看预订处理入口',
keyword: '团队号 / 确认号',
keywordPlaceholder: '团队号 / 确认号',
tableTitle: '订单数据',
totalSuffix: '条订单',
viewDetail: '查看详情',
continueTask: '继续处理',
noOpenTask: '无待处理任务',
endpointPending: '订单列表接口 GET /api/reservation/orders 待后端接入,当前不展示假数据。',
endpointPending: '订单列表接口待后端接入,当前不展示假数据。',
columns: {
order: '订单',
status: '状态',
@@ -76,18 +87,19 @@ export default {
roomType: '房型',
amount: '金额',
openTask: '处理任务',
groupCode: 'Group Code',
confirmationNumber: 'Confirmation No.',
groupCode: '团队号(Group Code',
confirmationNumber: '确认号(Confirmation No.',
temporaryOrderNo: '临时单号',
blockCode: 'Block Code',
blockCode: '团队预留号(Block Code',
createdAt: '创建时间',
conversationMessageCount: '会话邮件数',
sourceSummaryPending: '订单详情任务时间线的来源邮件摘要字段待后端补充;请从具体任务进入后查看。',
},
taskList: {
title: '任务列表',
subtitle: '按任务查看 Reservation 待处理队列',
subtitle: '按任务查看预订待处理队列',
keyword: '订单 / 邮件关键词',
keywordPlaceholder: '订单号 / 邮件关键词',
taskType: '任务类型',
tableTitle: '任务数据',
totalSuffix: '条任务',
@@ -98,7 +110,6 @@ export default {
queueAll: '全部队列状态',
queueIncluded: '参与队列',
queueExcluded: '不参与队列',
orderStatusFilterPending: '订单状态筛选待后端接入',
viewTask: '查看任务',
viewOrder: '查看订单',
viewConversation: '查看邮件会话',
@@ -136,12 +147,12 @@ export default {
validation: {
required: '{field}为必填项',
enum: '{field}必须来自可选项',
date: '{field}必须 YYYY-MM-DD',
date: '{field}日期格式必须 YYYY-MM-DD',
number: '{field}必须是数字',
},
viewOrder: '查看订单',
viewConversation: '查看邮件会话',
sourceMessageId: '来源消息 ID',
sourceMessageId: '来源消息编号(ID',
sourceSubject: '来源主题',
sourceSender: '发件人',
sourceReceivedAt: '接收时间',
@@ -184,9 +195,55 @@ export default {
VOUCHER: '凭证',
ROOMING_LIST: '房表',
AMEND_GROUP_CODE: '修改团队号',
TRACE_NOTE: 'Trace / 备注',
TRACE_NOTE: '追踪备注Trace',
TA_RECORD: '旅行社记录',
MESSAGE_NOTIFICATION: '消息通知',
MANUAL_REVIEW: '人工复核',
},
taskSubtype: {
NEW_BOOKING: '新预订',
UPDATE_BOOKING: '修改预订',
CANCEL_BOOKING: '取消预订',
RATE_CHANGE: '价格调整',
UPDATE_STAY_DATES: '修改入住日期',
UPDATE_ROOM_TYPE: '修改房型',
UPDATE_FIX_CHARGE: '修改固定收费',
NEW_GROUP_BLOCK: '新团队预留',
NEW_FIT_RESERVATION: '新散客预订',
MANUAL_REVIEW: '人工复核',
},
readonlyReason: {
PROCESSABLE: '可处理',
PREVIOUS_TASK_NOT_FINISHED: '前序任务未完成',
TASK_FINISHED: '任务已结束',
TASK_READ_ONLY: '任务只读',
ORDER_CLOSED: '订单已关闭',
QUEUE_EXCLUDED: '未参与队列',
BLOCKED: '阻塞中',
},
actorType: {
USER: '人工用户',
SYSTEM: '系统',
AI: 'AI',
AGENT: '外部助手',
BACKEND: '后端服务',
},
auditAction: {
TASK_CREATED: '任务创建',
TASK_LOADED: '任务读取',
TASK_CONFIRMED: '任务确认',
TASK_CONFIRM: '任务确认',
DRAFT_SAVED: '草稿保存',
TASK_UPDATED: '任务更新',
OPERA_EXECUTED: 'OPERA 执行',
OPERA_RETRIED: 'OPERA 重试',
MANUAL_REVIEW_CREATED: '创建人工复核',
},
operaOperation: {
CREATE_RESERVATION: '创建预订',
UPDATE_RESERVATION: '更新预订',
CANCEL_RESERVATION: '取消预订',
UPDATE_ROOMING_LIST: '更新房表',
ADD_TRACE_NOTE: '添加追踪备注',
},
}