diff --git a/app/citizen-frontend/src/api/types.ts b/app/citizen-frontend/src/api/types.ts
index 684c224..b77de30 100644
--- a/app/citizen-frontend/src/api/types.ts
+++ b/app/citizen-frontend/src/api/types.ts
@@ -25,6 +25,7 @@ export type PainLevel = "none" | "mild" | "moderate" | "severe";
/** 慢性病項目 */
export type ChronicDisease =
+ | "none"
| "hypertension"
| "diabetes"
| "hyperlipidemia"
diff --git a/app/citizen-frontend/src/pages/index.vue b/app/citizen-frontend/src/pages/index.vue
index 0cc5022..cd625d2 100644
--- a/app/citizen-frontend/src/pages/index.vue
+++ b/app/citizen-frontend/src/pages/index.vue
@@ -144,6 +144,7 @@
/>
@@ -491,7 +494,7 @@
variant="flat"
@click="handleAppointment"
>
- 立即預約
+ {{ APPOINTMENT_ENABLED ? "立即預約" : "預約功能尚未開放" }}
@@ -526,6 +529,7 @@ import type {
} from "@/api/types";
import { CONSENT_VERSION } from "@/api/types";
import Layout from "@/components/layout/DefaultLayout.vue";
+import { APPOINTMENT_ENABLED } from "@/config/features";
import {
readGuestSelfAssessmentDraft,
saveGuestSelfAssessmentDraft,
@@ -613,6 +617,7 @@ const improvementsOptions = [
},
];
const diseaseOptions = [
+ { title: "無", value: "none" as const },
{ title: "高血壓", value: "hypertension" as const },
{ title: "糖尿病", value: "diabetes" as const },
{ title: "高血脂", value: "hyperlipidemia" as const },
@@ -621,6 +626,21 @@ const diseaseOptions = [
{ title: "骨質疏鬆", value: "osteoporosis" as const },
];
+function handleChronicDiseaseChange(
+ changedDisease: ChronicDisease,
+ selectedDiseases: ChronicDisease[] | null,
+) {
+ const normalizedDiseases = selectedDiseases ?? [];
+
+ if (changedDisease === "none" && normalizedDiseases.includes("none")) {
+ assessmentForm.chronicDiseases = ["none"];
+ } else if (changedDisease !== "none") {
+ assessmentForm.chronicDiseases = normalizedDiseases.filter(
+ (disease) => disease !== "none",
+ );
+ }
+}
+
const birthdayDate = computed({
get: () => parseDateString(profileForm.birthday),
set: (value) => {
diff --git a/app/citizen-frontend/src/utils/self-assessment.ts b/app/citizen-frontend/src/utils/self-assessment.ts
index bc05e8a..bdeee47 100644
--- a/app/citizen-frontend/src/utils/self-assessment.ts
+++ b/app/citizen-frontend/src/utils/self-assessment.ts
@@ -49,6 +49,7 @@ const WANTED_IMPROVEMENT_VALUES: WantedImprovement[] = [
"bodyComposition",
];
const CHRONIC_DISEASE_VALUES: ChronicDisease[] = [
+ "none",
"hypertension",
"diabetes",
"hyperlipidemia",