前端调整V4预订事项用户化展示

This commit is contained in:
andy
2026-07-21 20:54:24 +07:00
parent 350bb3310b
commit c521eb6dc0
20 changed files with 703 additions and 657 deletions

View File

@@ -452,12 +452,12 @@ export default {
order: {
summary: 'Order summary',
taskQueue: 'Order task queue',
v4TaskTimeline: 'V4 order task timeline',
v4TaskTimelineEmpty: 'No V4 order tasks.',
v4TaskTimelineHint: 'Shows safe order-task and card summaries only. Complete actions in the V4 task detail page.',
v4OverviewTitle: 'Current V4 confirmed snapshot',
v4OverviewSubtitle: 'Derived from confirmed cards only, not from unconfirmed AI suggestions.',
v4OverviewEmpty: 'No confirmed V4 order snapshot yet.',
v4TaskTimeline: 'Processing records',
v4TaskTimelineEmpty: 'No processing records.',
v4TaskTimelineHint: 'Shows source-email processing records and item status summaries only. Complete actions in the reservation item page.',
v4OverviewTitle: 'Order information overview',
v4OverviewSubtitle: 'Derived from confirmed items only, not from unconfirmed suggestions.',
v4OverviewEmpty: 'No confirmed order information yet.',
accountCode: 'Account Code',
accountName: 'Account Name',
marketCode: 'Market Code',
@@ -466,31 +466,36 @@ export default {
rateCode: 'Rate Code',
roomItems: 'Confirmed room items',
latestConfirmedAt: 'Latest confirmed at',
traceCardStatus: 'Trace card status',
roomingListCardStatus: 'Rooming List card status',
paymentCardStatus: 'Payment card status',
traceCardStatus: 'Follow-up item status',
roomingListCardStatus: 'Rooming list item status',
paymentCardStatus: 'Payment voucher status',
nextV4ActionTitle: 'Next action',
nextV4ActionSubtitle: 'The order overview only links to the task page; it does not confirm, review, or edit cards.',
nextV4ActionType: 'Action type',
nextV4ActionStatus: 'Action status',
nextV4CardId: 'Card ID',
openOrderTaskCount: 'Open V4 tasks',
enterV4Task: 'Open task page',
nextActionConfirm: 'Confirm card',
nextActionReview: 'Manual review',
nextActionNone: 'No pending action',
nextV4ActionEmpty: 'No next V4 action.',
relatedSourceMessages: 'Related source messages',
nextV4ActionSubtitle: 'The order overview only links to the handling page; it does not confirm, review, or edit items.',
nextV4ActionType: 'Next step',
nextV4ActionStatus: 'Handling status',
nextV4CardId: 'Item ID',
openOrderTaskCount: 'Open items',
enterV4Task: 'Open handling page',
nextActionConfirm: 'Confirm item',
nextActionReview: 'Needs review',
nextActionNone: 'No pending item',
nextStep: 'Reservation item',
nextStepConfirm: 'An item needs confirmation',
nextStepReview: 'An item needs review',
nextV4ActionEmpty: 'No next reservation item.',
relatedSourceMessages: 'Related source emails',
relatedSourceMessagesHint: 'Shows headers and conversation summary only. Open the conversation page for full email content.',
relatedSourceMessagesEmpty: 'No related source messages.',
relatedSourceMessagesEmpty: 'No related source emails.',
externalConversationId: 'External conversation ID',
latestActivityAt: 'Latest activity',
v4CardsEmpty: 'No card summaries.',
cardId: 'Card ID',
v4CardsEmpty: 'No item status summaries.',
cardStatusSummary: 'Item status summary',
cardId: 'Item ID',
reviewStatus: 'Review status',
confirmedBy: 'Confirmed by',
confirmedAt: 'Confirmed at',
sourceEventIndex: 'Source event {index}',
sourceEventIndex: 'Source email event {index}',
processingRecord: 'Source email processing record',
sourceMessage: 'Source message',
businessKeySource: 'Business key source',
updatedAt: 'Last updated',
@@ -508,25 +513,35 @@ export default {
sourceSummaryPending: 'Source email summary fields for the order task timeline are pending backend support. Open a task for available source details.',
},
taskList: {
title: 'Task list',
subtitle: 'Review Reservation work by task queue',
title: 'Pending reservation items',
subtitle: 'Review reservation items that need confirmation, review, or acknowledgement',
keyword: 'Order / email keyword',
keywordPlaceholder: 'Order no. / email keyword',
taskType: 'Task type',
taskSubtype: 'Task subtype',
tableTitle: 'Task data',
totalSuffix: 'tasks',
tableTitle: 'Reservation items',
totalSuffix: 'items',
noSourceSubject: 'No source subject',
sourceReceivedAt: 'Source time',
businessStatus: 'Item status',
filterPending: 'Pending',
filterReview: 'Needs review',
filterCompleted: 'Completed',
filterSourceNotification: 'Source notification',
noOpenItems: 'No reservation items need handling',
noPendingItems: 'No reservation items are pending confirmation',
noReviewItems: 'No reservation items need review',
noCompletedItems: 'No completed reservation items',
noSourceNotifications: 'No source notifications',
itemType: 'Work item type',
itemTypeOrderTask: 'Order task',
itemTypeOrderTask: 'Reservation item',
itemTypeSourceNotification: 'Source notification',
orderTaskStatus: 'Order task status',
cardStatus: 'Card status',
orderUnresolved: 'Order ownership pending',
sourceNotificationNoOrder: 'No linked order',
sourceNotificationNoOrderHint: 'S10/S99 read-only source notification',
cardCountsTotal: '{total} cards',
sourceNotificationNoOrderHint: 'This email is not linked to an order. Review the email content.',
cardCountsTotal: '{total} items',
cardCountsPending: 'Pending {count}',
cardCountsReview: 'Review {count}',
cardCountsConfirmed: 'Confirmed {count}',
@@ -537,42 +552,50 @@ export default {
queueAll: 'All queue states',
queueIncluded: 'In queue',
queueExcluded: 'Not in queue',
viewTask: 'View task',
viewTask: 'Handle item',
viewOrder: 'View order',
viewConversation: 'View email conversation',
sourceOnlyOrderLabel: 'Source message only',
hiddenTechnicalOrder: 'No visible order',
columns: {
item: 'Work item',
item: 'Item type',
task: 'Task',
order: 'Order',
card: 'Task card',
card: 'Item',
status: 'Status',
source: 'Source email',
cards: 'Cards',
cards: 'Item progress',
queue: 'Queue',
},
},
taskV4: {
title: 'V4 order task detail',
subtitle: 'Handle the current order task with the backend V4 task card model.',
orderTaskSummary: 'Order task summary',
orderTaskId: 'Order task ID',
title: 'Reservation item handling',
subtitle: 'Handle the current reservation item from the source email.',
orderTaskSummary: 'Item summary',
orderTaskId: 'Item ID',
orderReference: 'Order reference',
targetBookingType: 'Target booking type',
targetLocator: 'Target locator',
targetResolutionStatus: 'Target resolution status',
cardCounts: 'Card counts',
sourceMessageCard: 'Source email card',
basicInformationCard: 'Basic information card',
businessCards: 'Business task cards',
targetBookingType: 'Booking type',
targetLocator: 'Order clue',
targetResolutionStatus: 'Order ownership',
cardCounts: 'Item counts',
sourceMessageCard: 'Source email',
basicInformationCard: 'Reservation basics',
roomInformationCard: 'Room and dates',
paymentCard: 'Payment voucher',
businessCards: 'Reservation items',
adapterContractErrors: 'Adapter contract diagnostics',
noAdapterContractErrors: 'No adapter contract errors.',
noBusinessCards: 'No business task cards.',
noBusinessCards: 'No reservation items to handle.',
displayPayload: 'Display summary',
rawCardPayload: 'Safe card summary',
readonlyReason: 'Read-only reason',
blockedReason: 'Blocked reason',
bookingTypeGroup: 'Group booking',
bookingTypeFit: 'FIT booking',
bookingTypeUnknown: 'Booking type pending',
targetResolved: 'Confirmed',
targetUnresolved: 'Pending confirmation',
targetPending: 'Pending confirmation',
confirmCard: 'Confirm card',
confirmingCard: 'Confirming',
resolveReview: 'Submit review',
@@ -624,14 +647,14 @@ export default {
fileMeta: '{type} · {size}',
},
roomingList: {
title: 'Rooming List action',
title: 'Rooming list item',
targetOrder: 'Target order',
unboundOrder: 'No visible order is bound yet',
description: 'The current source message contains a Rooming List item that needs manual handling.',
confirmHint: 'This first version only confirms that the item has been handled manually. Guest details and attachment content are not displayed or processed here.',
},
trace: {
title: 'Trace notes',
title: 'Follow-up item',
itemLabel: 'Item {index}',
generalTitle: 'General note',
extraBedTitle: 'Extra bed note',
@@ -643,7 +666,6 @@ export default {
stale: 'This catalog is a stale snapshot. You can still select from it; backend validation remains final.',
warning: 'Catalog note: {warning}',
error: 'Catalog is temporarily unavailable. Refresh and retry.',
catalogMeta: 'Catalog source: {source}, version: {version}',
accountDerived: 'Market: {market} / Source: {source} will be shown from the catalog; backend confirmation remains final.',
currentNotInCatalog: 'Original value "{value}" is not in the current catalog. Select again.',
},
@@ -655,6 +677,7 @@ export default {
attachments: 'Attachments',
excerpt: 'Email excerpt',
body: 'Current email body',
bodyCollapsed: 'The email body is folded. Expand to read the current trigger email.',
bodyLoading: 'Loading current email body...',
bodyLoadFailed: 'Current email body cannot be loaded right now. Open the email conversation to view it.',
noBody: 'No current email body.',
@@ -671,7 +694,7 @@ export default {
selectPlaceholder: 'Select',
},
error: {
loadFailed: 'Failed to load V4 order task detail.',
loadFailed: 'Failed to load the reservation item handling page.',
actionFailed: 'Action failed. Check backend response details.',
},
},

View File

@@ -452,12 +452,12 @@ export default {
order: {
summary: 'สรุปออเดอร์',
taskQueue: 'คิวงานของออเดอร์นี้',
v4TaskTimeline: 'ไทม์ไลน์งานออเดอร์ V4',
v4TaskTimelineEmpty: 'ยังไม่มีงานออเดอร์ V4',
v4TaskTimelineHint: 'แสดงเฉพาะสรุปงานและการ์ดที่ปลอดภัย หากต้องดำเนินการให้เข้าไปที่หน้ารายละเอียดงาน V4',
v4OverviewTitle: 'สแนปช็อต V4 ที่ยืนยันแล้ว',
v4OverviewSubtitle: 'มาจากการ์ดที่ยืนยันแล้วเท่านั้น ไม่ใช้คำแนะนำ AI ที่ยังไม่ยืนยัน',
v4OverviewEmpty: 'ยังไม่มีสแนปช็อตออเดอร์ V4 ที่ยืนยันแล้ว',
v4TaskTimeline: 'ประวัติการดำเนินการ',
v4TaskTimelineEmpty: 'ยังไม่มีประวัติการดำเนินการ',
v4TaskTimelineHint: 'แสดงเฉพาะประวัติการประมวลผลอีเมลต้นทางและสรุปสถานะรายการ หากต้องดำเนินการให้เข้าไปที่หน้าจัดการรายการจอง',
v4OverviewTitle: 'ภาพรวมข้อมูลออเดอร์',
v4OverviewSubtitle: 'มาจากรายการที่ยืนยันแล้วเท่านั้น ไม่ใช้ข้อมูลแนะนำที่ยังไม่ยืนยัน',
v4OverviewEmpty: 'ยังไม่มีข้อมูลออเดอร์ที่ยืนยันแล้ว',
accountCode: 'Account Code',
accountName: 'Account Name',
marketCode: 'Market Code',
@@ -466,31 +466,36 @@ export default {
rateCode: 'Rate Code',
roomItems: 'ประเภทห้องและจำนวนที่ยืนยันแล้ว',
latestConfirmedAt: 'เวลายืนยันล่าสุด',
traceCardStatus: 'สถานะการ์ด Trace',
roomingListCardStatus: 'สถานะการ์ด Rooming List',
paymentCardStatus: 'สถานะการ์ด Payment',
traceCardStatus: 'สถานะรายการติดตาม',
roomingListCardStatus: 'สถานะรายการ Rooming List',
paymentCardStatus: 'สถานะหลักฐานการชำระเงิน',
nextV4ActionTitle: 'ขั้นตอนถัดไป',
nextV4ActionSubtitle: 'หน้าสรุปออเดอร์เป็นทางเข้าเท่านั้น ไม่ยืนยัน ตรวจสอบ หรือแก้ไขการ์ดในหน้านี้',
nextV4ActionType: 'ประเภทการดำเนินการ',
nextV4ActionStatus: 'สถานะการดำเนินการ',
nextV4CardId: 'รหัสการ์ด',
openOrderTaskCount: 'งาน V4 ที่ยังไม่เสร็จ',
enterV4Task: 'ไปหน้าดำเนินการ',
nextActionConfirm: 'ยืนยันการ์ด',
nextActionReview: 'ตรวจสอบด้วยคน',
nextActionNone: 'ไม่มีงานรอดำเนินการ',
nextV4ActionEmpty: 'ยังไม่มีขั้นตอน V4 ถัดไป',
relatedSourceMessages: 'ข้อความต้นทางที่เกี่ยวข้อง',
nextV4ActionSubtitle: 'หน้าสรุปออเดอร์เป็นทางเข้าเท่านั้น ไม่ยืนยัน ตรวจสอบ หรือแก้ไขรายการในหน้านี้',
nextV4ActionType: 'ขั้นตอนถัดไป',
nextV4ActionStatus: 'สถานะการจัดการ',
nextV4CardId: 'รหัสรายการ',
openOrderTaskCount: 'รายการที่ยังต้องจัดการ',
enterV4Task: 'ไปหน้าจัดการ',
nextActionConfirm: 'ยืนยันรายการ',
nextActionReview: 'ต้องตรวจสอบ',
nextActionNone: 'ไม่มีรายการรอดำเนินการ',
nextStep: 'รายการจอง',
nextStepConfirm: 'มีรายการรอยืนยัน',
nextStepReview: 'มีรายการต้องตรวจสอบ',
nextV4ActionEmpty: 'ยังไม่มีรายการจองถัดไป',
relatedSourceMessages: 'อีเมลต้นทางที่เกี่ยวข้อง',
relatedSourceMessagesHint: 'แสดงเฉพาะหัวอีเมลและสรุปเธรด หากต้องการอ่านทั้งหมดให้เปิดหน้าบทสนทนาอีเมล',
relatedSourceMessagesEmpty: 'ยังไม่มีข้อความต้นทางที่เกี่ยวข้อง',
relatedSourceMessagesEmpty: 'ยังไม่มีอีเมลต้นทางที่เกี่ยวข้อง',
externalConversationId: 'รหัสเธรดภายนอก',
latestActivityAt: 'กิจกรรมล่าสุด',
v4CardsEmpty: 'ยังไม่มีสรุปการ์ด',
cardId: 'รหัสการ์ด',
v4CardsEmpty: 'ยังไม่มีสรุปสถานะรายการ',
cardStatusSummary: 'สรุปสถานะรายการ',
cardId: 'รหัสรายการ',
reviewStatus: 'สถานะตรวจสอบ',
confirmedBy: 'ผู้ยืนยัน',
confirmedAt: 'เวลายืนยัน',
sourceEventIndex: 'เหตุการณ์ต้นทาง {index}',
sourceEventIndex: 'เหตุการณ์อีเมลต้นทาง {index}',
processingRecord: 'ประวัติการประมวลผลอีเมลต้นทาง',
sourceMessage: 'ข้อความต้นทาง',
businessKeySource: 'แหล่งที่มาของเลขธุรกิจ',
updatedAt: 'อัปเดตล่าสุด',
@@ -508,25 +513,35 @@ export default {
sourceSummaryPending: 'ข้อมูลสรุปอีเมลต้นทางในไทม์ไลน์งานยังรอหลังบ้านเพิ่มเติม โปรดเข้าไปดูจากงานที่เกี่ยวข้อง',
},
taskList: {
title: 'รายการงาน',
subtitle: 'ดูคิวงานการจองตามงาน',
title: 'รายการจองที่ต้องจัดการ',
subtitle: 'ดูรายการจองที่ต้องยืนยัน ตรวจสอบ หรือรับทราบ',
keyword: 'คำค้นออเดอร์ / อีเมล',
keywordPlaceholder: 'เลขออเดอร์ / คำค้นอีเมล',
taskType: 'ประเภทงาน',
taskSubtype: 'ประเภทย่อยของงาน',
tableTitle: 'ข้อมูลงาน',
totalSuffix: 'งาน',
tableTitle: 'รายการจอง',
totalSuffix: 'รายการ',
noSourceSubject: 'ไม่มีหัวข้ออีเมลต้นทาง',
sourceReceivedAt: 'เวลารับอีเมล',
businessStatus: 'สถานะรายการ',
filterPending: 'รอดำเนินการ',
filterReview: 'ต้องตรวจสอบ',
filterCompleted: 'เสร็จแล้ว',
filterSourceNotification: 'แจ้งเตือนต้นทาง',
noOpenItems: 'ยังไม่มีรายการจองที่ต้องจัดการ',
noPendingItems: 'ยังไม่มีรายการจองที่รอยืนยัน',
noReviewItems: 'ยังไม่มีรายการจองที่ต้องตรวจสอบ',
noCompletedItems: 'ยังไม่มีรายการจองที่เสร็จแล้ว',
noSourceNotifications: 'ยังไม่มีแจ้งเตือนต้นทาง',
itemType: 'ประเภทงานในคิว',
itemTypeOrderTask: 'งานออเดอร์',
itemTypeOrderTask: 'รายการจอง',
itemTypeSourceNotification: 'แจ้งเตือนต้นทาง',
orderTaskStatus: 'สถานะงานออเดอร์',
cardStatus: 'สถานะการ์ด',
orderUnresolved: 'ยังรอยืนยันออเดอร์',
sourceNotificationNoOrder: 'ไม่ผูกกับออเดอร์',
sourceNotificationNoOrderHint: 'แจ้งเตือนต้นทาง S10/S99 แบบอ่านอย่างเดียว',
cardCountsTotal: 'รวม {total} การ์ด',
sourceNotificationNoOrderHint: 'อีเมลนี้ไม่ได้ผูกกับออเดอร์ โปรดตรวจสอบเนื้อหาอีเมล',
cardCountsTotal: 'รวม {total} รายการ',
cardCountsPending: 'รอยืนยัน {count}',
cardCountsReview: 'รอตรวจสอบ {count}',
cardCountsConfirmed: 'ยืนยันแล้ว {count}',
@@ -537,42 +552,50 @@ export default {
queueAll: 'สถานะคิวทั้งหมด',
queueIncluded: 'อยู่ในคิว',
queueExcluded: 'ไม่อยู่ในคิว',
viewTask: 'ดูงาน',
viewTask: 'จัดการรายการ',
viewOrder: 'ดูออเดอร์',
viewConversation: 'ดูเธรดอีเมล',
sourceOnlyOrderLabel: 'ข้อความต้นทางแบบอ่านอย่างเดียว',
hiddenTechnicalOrder: 'ไม่มีออเดอร์ที่แสดงได้',
columns: {
item: 'รายการงาน',
item: 'ประเภทรายการ',
task: 'งาน',
order: 'ออเดอร์',
card: 'การ์ดงาน',
card: 'รายการ',
status: 'สถานะ',
source: 'อีเมลต้นทาง',
cards: 'การ์ด',
cards: 'ความคืบหน้ารายการ',
queue: 'คิว',
},
},
taskV4: {
title: 'รายละเอียดงานออเดอร์ V4',
subtitle: 'จัดการงานออเดอร์ปัจจุบันตามโมเดลการ์ดงาน V4 จากหลังบ้าน',
orderTaskSummary: 'สรุปงานออเดอร์',
orderTaskId: 'รหัสงานออเดอร์',
title: 'จัดการรายการจอง',
subtitle: 'จัดการรายการจองปัจจุบันจากอีเมลต้นทาง',
orderTaskSummary: 'สรุปรายการ',
orderTaskId: 'รหัสรายการ',
orderReference: 'อ้างอิงออเดอร์',
targetBookingType: 'ประเภทการจองเป้าหมาย',
targetLocator: 'ข้อมูลระบุเป้าหมาย',
targetResolutionStatus: 'สถานะการยืนยันเป้าหมาย',
cardCounts: 'จำนวนการ์ด',
sourceMessageCard: 'การ์ดอีเมลต้นทาง',
basicInformationCard: 'การ์ดข้อมูลพื้นฐาน',
businessCards: 'การ์ดงานธุรกิจ',
targetBookingType: 'ประเภทการจอง',
targetLocator: 'ข้อมูลช่วยระบุออเดอร์',
targetResolutionStatus: 'การผูกออเดอร์',
cardCounts: 'จำนวนรายการ',
sourceMessageCard: 'อีเมลต้นทาง',
basicInformationCard: 'ข้อมูลจองพื้นฐาน',
roomInformationCard: 'ห้องและวันที่',
paymentCard: 'หลักฐานการชำระเงิน',
businessCards: 'รายการจอง',
adapterContractErrors: 'ข้อมูลวินิจฉัยสัญญา Adapter',
noAdapterContractErrors: 'ไม่มีข้อผิดพลาดสัญญา Adapter',
noBusinessCards: 'ยังไม่มีการ์ดงานธุรกิจ',
noBusinessCards: 'ยังไม่มีรายการจองที่ต้องจัดการ',
displayPayload: 'สรุปสำหรับแสดงผล',
rawCardPayload: 'สรุปการ์ดที่ปลอดภัย',
readonlyReason: 'เหตุผลที่แก้ไขไม่ได้',
blockedReason: 'เหตุผลที่ถูกบล็อก',
bookingTypeGroup: 'จองแบบกรุ๊ป',
bookingTypeFit: 'จองแบบ FIT',
bookingTypeUnknown: 'รอยืนยันประเภทการจอง',
targetResolved: 'ยืนยันแล้ว',
targetUnresolved: 'รอยืนยัน',
targetPending: 'รอยืนยัน',
confirmCard: 'ยืนยันการ์ด',
confirmingCard: 'กำลังยืนยัน',
resolveReview: 'ส่งผลตรวจสอบ',
@@ -624,14 +647,14 @@ export default {
fileMeta: '{type} · {size}',
},
roomingList: {
title: 'งาน Rooming List',
title: 'รายการ Rooming List',
targetOrder: 'ออเดอร์เป้าหมาย',
unboundOrder: 'ยังไม่มีออเดอร์ที่มองเห็นได้ผูกอยู่',
description: 'ข้อความต้นทางปัจจุบันมีรายการ Rooming List ที่ต้องให้เจ้าหน้าที่จัดการ',
confirmHint: 'เวอร์ชันแรกนี้ใช้ยืนยันว่ารายการได้รับการจัดการด้วยคนแล้วเท่านั้น ไม่แสดงหรือประมวลผลรายชื่อแขกและเนื้อหาไฟล์แนบในหน้านี้',
},
trace: {
title: 'หมายเหตุ Trace',
title: 'รายการติดตาม',
itemLabel: 'รายการ {index}',
generalTitle: 'หมายเหตุทั่วไป',
extraBedTitle: 'รายการเตียงเสริม',
@@ -643,7 +666,6 @@ export default {
stale: 'แค็ตตาล็อกนี้เป็น snapshot เก่า ยังเลือกได้ แต่การตรวจสอบฝั่งหลังบ้านเป็นผลสุดท้าย',
warning: 'หมายเหตุแค็ตตาล็อก: {warning}',
error: 'แค็ตตาล็อกไม่พร้อมใช้งานชั่วคราว โปรดรีเฟรชแล้วลองใหม่',
catalogMeta: 'แหล่งที่มาแค็ตตาล็อก: {source}, เวอร์ชัน: {version}',
accountDerived: 'จะแสดง Market: {market} / Source: {source} จากแค็ตตาล็อก โดยผลยืนยันจากหลังบ้านเป็นผลสุดท้าย',
currentNotInCatalog: 'ค่าเดิม "{value}" ไม่อยู่ในแค็ตตาล็อกปัจจุบัน โปรดเลือกใหม่',
},
@@ -655,6 +677,7 @@ export default {
attachments: 'ไฟล์แนบ',
excerpt: 'ข้อความบางส่วนของอีเมล',
body: 'เนื้อหาอีเมลปัจจุบัน',
bodyCollapsed: 'เนื้อหาอีเมลถูกพับไว้ กดขยายเพื่ออ่านอีเมลต้นทางฉบับปัจจุบัน',
bodyLoading: 'กำลังโหลดเนื้อหาอีเมลปัจจุบัน...',
bodyLoadFailed: 'ยังโหลดเนื้อหาอีเมลปัจจุบันไม่ได้ โปรดเปิดเธรดอีเมลเพื่อดู',
noBody: 'ไม่มีเนื้อหาอีเมลปัจจุบัน',
@@ -671,7 +694,7 @@ export default {
selectPlaceholder: 'เลือก',
},
error: {
loadFailed: 'โหลดรายละเอียดงานออเดอร์ V4 ไม่สำเร็จ',
loadFailed: 'โหลดหน้าจัดการรายการจองไม่สำเร็จ',
actionFailed: 'ดำเนินการไม่สำเร็จ โปรดตรวจข้อมูลตอบกลับจากหลังบ้าน',
},
},

View File

@@ -452,12 +452,12 @@ export default {
order: {
summary: '订单摘要',
taskQueue: '同订单任务队列',
v4TaskTimeline: 'V4 订单任务时间线',
v4TaskTimelineEmpty: '暂无 V4 订单任务。',
v4TaskTimelineHint: '只展示订单任务和任务卡安全摘要;理动作请进入 V4 任务详情页完成。',
v4OverviewTitle: 'V4 当前确认快照',
v4OverviewSubtitle: '仅来自已确认任务卡,不使用未确认 AI 建议。',
v4OverviewEmpty: '暂无已确认的 V4 订单快照。',
v4TaskTimeline: '处理记录',
v4TaskTimelineEmpty: '暂无处理记录。',
v4TaskTimelineHint: '只展示来源邮件处理记录和事项状态摘要;理动作请进入订单事项办理页完成。',
v4OverviewTitle: '订单信息总览',
v4OverviewSubtitle: '仅来自已确认事项,不使用未确认建议。',
v4OverviewEmpty: '暂无已确认的订单信息。',
accountCode: 'Account 代码',
accountName: 'Account 名称',
marketCode: 'Market 代码',
@@ -466,31 +466,36 @@ export default {
rateCode: 'Rate Code',
roomItems: '已确认房型房量',
latestConfirmedAt: '最近确认时间',
traceCardStatus: 'Trace 卡片状态',
roomingListCardStatus: 'Rooming List 卡片状态',
paymentCardStatus: 'Payment 卡片状态',
traceCardStatus: '跟进事项状态',
roomingListCardStatus: '房表事项状态',
paymentCardStatus: '付款凭证状态',
nextV4ActionTitle: '下一步处理',
nextV4ActionSubtitle: '订单总览只提供入口,不直接确认、复核或编辑任务卡。',
nextV4ActionType: '动作类型',
nextV4ActionStatus: '动作状态',
nextV4CardId: '任务卡编号',
openOrderTaskCount: '未完成 V4 任务数',
enterV4Task: '进入理页',
nextActionConfirm: '确认任务卡',
nextActionReview: '人工复核',
nextActionNone: '无待处理动作',
nextV4ActionEmpty: '暂无下一步 V4 处理动作。',
relatedSourceMessages: '关联来源消息',
nextV4ActionSubtitle: '订单总览只提供入口,不直接确认、复核或编辑事项。',
nextV4ActionType: '下一步',
nextV4ActionStatus: '处理状态',
nextV4CardId: '事项编号',
openOrderTaskCount: '待处理事项数',
enterV4Task: '进入理页',
nextActionConfirm: '确认事项',
nextActionReview: '需要复核',
nextActionNone: '无待处理事项',
nextStep: '处理事项',
nextStepConfirm: '有事项待确认',
nextStepReview: '有事项需要复核',
nextV4ActionEmpty: '暂无下一步处理事项。',
relatedSourceMessages: '关联来源邮件',
relatedSourceMessagesHint: '只展示邮件头和会话摘要;全文请进入邮件会话页查看。',
relatedSourceMessagesEmpty: '暂无关联来源消息。',
relatedSourceMessagesEmpty: '暂无关联来源邮件。',
externalConversationId: '外部会话编号',
latestActivityAt: '最近活动时间',
v4CardsEmpty: '暂无任务卡摘要。',
cardId: '任务卡编号',
v4CardsEmpty: '暂无事项状态摘要。',
cardStatusSummary: '事项状态摘要',
cardId: '事项编号',
reviewStatus: '复核状态',
confirmedBy: '确认人',
confirmedAt: '确认时间',
sourceEventIndex: '来源事件 {index}',
sourceEventIndex: '来源邮件事件 {index}',
processingRecord: '来源邮件处理记录',
sourceMessage: '来源消息',
businessKeySource: '业务号来源',
updatedAt: '最近更新',
@@ -508,25 +513,35 @@ export default {
sourceSummaryPending: '订单详情任务时间线的来源邮件摘要字段待后端补充;请从具体任务进入后查看。',
},
taskList: {
title: '任务列表',
subtitle: '按任务查看预订待处理队列',
title: '待处理预订事项',
subtitle: '查看需要确认、复核或已读的预订事项',
keyword: '订单 / 邮件关键词',
keywordPlaceholder: '订单号 / 邮件关键词',
taskType: '任务类型',
taskSubtype: '任务细分',
tableTitle: '任务数据',
totalSuffix: '条任务',
tableTitle: '预订事项',
totalSuffix: '条事项',
noSourceSubject: '暂无来源主题',
sourceReceivedAt: '来源时间',
businessStatus: '事项状态',
filterPending: '待处理',
filterReview: '需要复核',
filterCompleted: '已完成',
filterSourceNotification: '来源通知',
noOpenItems: '暂无需要处理的预订事项',
noPendingItems: '暂无待确认的预订事项',
noReviewItems: '暂无需要复核的预订事项',
noCompletedItems: '暂无已完成的预订事项',
noSourceNotifications: '暂无来源通知',
itemType: '工作项类型',
itemTypeOrderTask: '订单任务',
itemTypeOrderTask: '预订事项',
itemTypeSourceNotification: '来源通知',
orderTaskStatus: '订单任务状态',
cardStatus: '卡片状态',
orderUnresolved: '订单归属待确认',
sourceNotificationNoOrder: '不关联订单',
sourceNotificationNoOrderHint: 'S10/S99 只读来源通知',
cardCountsTotal: '共 {total} 张卡',
sourceNotificationNoOrderHint: '该邮件不关联订单,请查看邮件内容。',
cardCountsTotal: '共 {total} 个事项',
cardCountsPending: '待确认 {count}',
cardCountsReview: '待复核 {count}',
cardCountsConfirmed: '已确认 {count}',
@@ -537,42 +552,50 @@ export default {
queueAll: '全部队列状态',
queueIncluded: '参与队列',
queueExcluded: '不参与队列',
viewTask: '查看任务',
viewTask: '处理事项',
viewOrder: '查看订单',
viewConversation: '查看邮件会话',
sourceOnlyOrderLabel: '来源消息只读',
hiddenTechnicalOrder: '不关联可见订单',
columns: {
item: '工作项',
item: '事项类型',
task: '任务',
order: '订单',
card: '任务卡',
card: '事项',
status: '状态',
source: '来源邮件',
cards: '卡片',
cards: '事项进度',
queue: '队列',
},
},
taskV4: {
title: 'V4 订单任务详情',
subtitle: '按后端 V4 任务卡模型处理当前订单任务',
orderTaskSummary: '订单任务摘要',
orderTaskId: '订单任务编号',
title: '订单事项办理',
subtitle: '按来源邮件办理当前订单事项',
orderTaskSummary: '事项摘要',
orderTaskId: '事项编号',
orderReference: '订单引用',
targetBookingType: '目标预订类型',
targetLocator: '目标定位信息',
targetResolutionStatus: '归属确认状态',
cardCounts: '任务卡统计',
sourceMessageCard: '来源邮件',
basicInformationCard: '基础信息',
businessCards: '业务任务卡',
targetBookingType: '预订类型',
targetLocator: '订单线索',
targetResolutionStatus: '订单归属',
cardCounts: '事项统计',
sourceMessageCard: '来源邮件',
basicInformationCard: '预订基础信息',
roomInformationCard: '房型与日期',
paymentCard: '付款凭证',
businessCards: '预订事项',
adapterContractErrors: '适配契约诊断',
noAdapterContractErrors: '暂无适配契约异常。',
noBusinessCards: '暂无业务任务卡。',
noBusinessCards: '暂无需要办理的预订事项。',
displayPayload: '展示摘要',
rawCardPayload: '卡片安全摘要',
readonlyReason: '不可操作原因',
blockedReason: '阻塞原因',
bookingTypeGroup: '团队预订',
bookingTypeFit: '散客预订',
bookingTypeUnknown: '预订类型待确认',
targetResolved: '已确认',
targetUnresolved: '待确认',
targetPending: '待确认',
confirmCard: '确认卡片',
confirmingCard: '确认中',
resolveReview: '提交复核',
@@ -624,14 +647,14 @@ export default {
fileMeta: '{type} · {size}',
},
roomingList: {
title: 'Rooming List / 房表事项',
title: '房表事项',
targetOrder: '目标订单',
unboundOrder: '暂未绑定可见订单',
description: '当前来源消息包含需要人工处理的 Rooming List 事项,请在酒店内部流程处理后确认该卡片。',
confirmHint: '第一版仅确认该事项已由人工处理,不展示或处理名单明细和附件内容。',
},
trace: {
title: 'Trace / 追踪备注事项',
title: '跟进事项',
itemLabel: '事项 {index}',
generalTitle: '普通事项',
extraBedTitle: '加床事项',
@@ -643,7 +666,6 @@ export default {
stale: '当前目录为过期快照,仍可选择,最终以后端校验为准。',
warning: '目录提示:{warning}',
error: '目录暂不可用,请刷新后重试。',
catalogMeta: '目录来源:{source},版本:{version}',
accountDerived: '选择后将参考目录展示 Market{market} / Source{source},最终以后端确认结果为准。',
currentNotInCatalog: '原值“{value}”不在当前目录中,请重新选择。',
},
@@ -655,6 +677,7 @@ export default {
attachments: '附件',
excerpt: '邮件片段',
body: '当前邮件正文',
bodyCollapsed: '邮件正文已折叠,展开后读取当前触发邮件正文。',
bodyLoading: '正在加载当前邮件正文...',
bodyLoadFailed: '当前邮件正文暂时无法加载,可进入邮件会话查看。',
noBody: '暂无当前邮件正文。',
@@ -671,7 +694,7 @@ export default {
selectPlaceholder: '请选择',
},
error: {
loadFailed: 'V4 订单任务详情加载失败。',
loadFailed: '订单事项办理页加载失败。',
actionFailed: '操作失败,请检查后端返回信息。',
},
},