From f3b6adda17ef42a638928f9f2761a69f2d773878 Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 21 Jul 2026 18:15:19 +0700 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0V4=20Trace=E4=BA=8B=E9=A1=B9?= =?UTF-8?q?=E5=8D=A1=E5=89=8D=E7=AB=AF=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationV4TaskCardFieldRenderer.vue | 7 + .../ReservationV4TaskCardSection.vue | 15 +- .../reservation/ReservationV4TraceCard.vue | 543 ++++++++++++++++++ client/src/i18n/locales/en-US.ts | 7 + client/src/i18n/locales/th-TH.ts | 7 + client/src/i18n/locales/zh-CN.ts | 7 + client/src/tests/reservationV4Views.spec.ts | 293 +++++++++- client/src/types/reservation.ts | 6 + client/src/utils/reservationV4FieldRules.ts | 35 +- .../ReservationV4OrderTaskDetailView.vue | 18 +- 10 files changed, 931 insertions(+), 7 deletions(-) create mode 100644 client/src/components/reservation/ReservationV4TraceCard.vue diff --git a/client/src/components/reservation/ReservationV4TaskCardFieldRenderer.vue b/client/src/components/reservation/ReservationV4TaskCardFieldRenderer.vue index 4eec203..cf39c86 100644 --- a/client/src/components/reservation/ReservationV4TaskCardFieldRenderer.vue +++ b/client/src/components/reservation/ReservationV4TaskCardFieldRenderer.vue @@ -439,6 +439,13 @@ function isSelectControl(field: ReservationV4TaskCardFieldResult): boolean { } function fixedFieldOptions(field: ReservationV4TaskCardFieldResult): FieldOption[] { + const backendOptions = (field.fixed_options ?? []).map((option) => ({ + value: option.value, + label: option.label || option.value, + })) + if (backendOptions.length) { + return backendOptions + } const optionsSource = normalizeControlType(field.options_source) if (optionsSource !== 'RESERVATION_V4_GROUP_BOOKING_STATUS_FIXED') { return [] diff --git a/client/src/components/reservation/ReservationV4TaskCardSection.vue b/client/src/components/reservation/ReservationV4TaskCardSection.vue index 5851ae5..d6d4f3a 100644 --- a/client/src/components/reservation/ReservationV4TaskCardSection.vue +++ b/client/src/components/reservation/ReservationV4TaskCardSection.vue @@ -58,6 +58,16 @@ :card="card" :source-message-id="sourceMessageId" /> +
@@ -124,6 +134,7 @@