From 53ae3f02a5ff58f97e102e5f6a4abee562fdd4e8 Mon Sep 17 00:00:00 2001 From: Script Generator Date: Tue, 16 Jun 2026 20:55:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=96=B0=E5=BB=BA=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E6=BC=8F=E4=BC=A0=20status=20=E5=AD=97=E6=AE=B5=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E7=8A=B6=E6=80=81/=E6=93=8D=E4=BD=9C=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E4=B8=8D=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因:RequirementModal.handleSubmit 提交时漏传 status,store createRequirement 也无默认值,落库 status 为 undefined。 page.tsx 的所有操作按钮均按 req.status === '...' 判断, undefined 不匹配任何分支 → 所有按钮消失;REQ_STATUS_LABEL[undefined] 也是 undefined → 状态列空白。 修复(双兜底,二选一就够,但都改更稳): - RequirementModal.tsx: handleSubmit 加 status: initial?.status ?? 'pending_review' - useRequirementStore.ts: createRequirement 加 status: data.status ?? 'pending_review' Co-Authored-By: Claude Opus 4.7 (1M context) --- apps/web/components/requirement/RequirementModal.tsx | 1 + apps/web/stores/useRequirementStore.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/apps/web/components/requirement/RequirementModal.tsx b/apps/web/components/requirement/RequirementModal.tsx index a8bb712..d54d993 100644 --- a/apps/web/components/requirement/RequirementModal.tsx +++ b/apps/web/components/requirement/RequirementModal.tsx @@ -130,6 +130,7 @@ export function RequirementModal({ typeId: typeId || undefined, priority, effort, + status: initial?.status ?? 'pending_review', creator: initial?.creator || currentUserName || '系统', parentId: parentId || undefined, }); diff --git a/apps/web/stores/useRequirementStore.ts b/apps/web/stores/useRequirementStore.ts index 20572e2..d1f26a1 100644 --- a/apps/web/stores/useRequirementStore.ts +++ b/apps/web/stores/useRequirementStore.ts @@ -103,6 +103,7 @@ export const useRequirementStore = create((set, get) => { const code = `REQ-${String(requirements.length + 1).padStart(3, '0')}`; const newReq: Requirement = { ...data, + status: data.status ?? 'pending_review', id: `req-${Date.now()}`, code, createdAt: new Date().toISOString().slice(0, 10),