前端调整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.',
},
},