实现V4 Trace事项卡前端展示

This commit is contained in:
andy
2026-07-21 18:15:19 +07:00
parent 38661257d1
commit f3b6adda17
10 changed files with 931 additions and 7 deletions

View File

@@ -224,6 +224,7 @@ import {
isReservationV4ConfirmWritableField,
isReservationV4RoomInformationSafeField,
isReservationV4ReviewWritableField,
isReservationV4TraceSafeField,
mapReservationV4BackendDetailsToFields,
reservationV4FieldKey,
validateReservationV4Fields,
@@ -468,11 +469,15 @@ function submissionFieldsForCard(card: ReservationV4TaskCardResult): Reservation
if (isVersionOnlyConfirmCard(card)) {
return []
}
return card.card_type === 'ROOM_INFORMATION'
? card.fields.filter((field) =>
if (card.card_type === 'ROOM_INFORMATION') {
return card.fields.filter((field) =>
isReservationV4RoomInformationSafeField(field) && !isGroupRoomInformationBreakfastField(card, field),
)
: card.fields
}
if (isTraceCard(card)) {
return card.fields.filter(isReservationV4TraceSafeField)
}
return card.fields
}
function buildConfirmRequest(
@@ -498,6 +503,10 @@ function isRoomingListCard(card: ReservationV4TaskCardResult): boolean {
return card.card_type === 'ROOMING_LIST'
}
function isTraceCard(card: ReservationV4TaskCardResult): boolean {
return card.card_type === 'TRACE_RESERVATION_NOTES'
}
function isVersionOnlyConfirmCard(card: ReservationV4TaskCardResult): boolean {
return isPaymentCard(card) || isRoomingListCard(card)
}
@@ -538,6 +547,9 @@ function cardTitle(card: ReservationV4TaskCardResult): string {
if (isRoomingListCard(card)) {
return t('taskV4.roomingList.title')
}
if (isTraceCard(card)) {
return t('taskV4.trace.title')
}
return formatReservationTaskCard(t, card.card_type)
}